/* Boatshow 2023 pre */
/* top.css */

/* #slide */
#topslide {
  position: relative;
}
.slide-triangle {
  position: absolute;
}
.carousel-control-next,
.carousel-control-prev,
.carousel-indicators {
  z-index: 10;
}
.carousel-control-next-icon {
  opacity: 1;
  width: 3rem;
  height: 3rem;
}
#slideVidual {
}
.slide-message {
  position: absolute;
  width: 100%;
  z-index: 5;
  bottom: 0;
}
.slide-message h2 {
	margin-bottom: 0;
	background: #00a1fd60;
}
.slide-message h2 img {
  width: 100%;
  height: auto;
}
.slide-triangle {
  width: 100%;
  z-index: 4;
}
.slide-triangle img {
  width: 100%;
}
.carousel-item img {
  width: 100%;
  height: auto;
}
@media screen and (max-width:767.9px){
  .slide-message h2 {
    margin-top: 20vw;
  }
.carousel-control-next-icon {
  width: 1rem;
  height: 1rem;
}
}
/* .top-contents */
.top-contents {
}
/* #announcement */
#announcement {
  margin-bottom: 0;
  /*background: url(../img/bg_announcement_01.jpg) center top repeat-y;
  background-size: cover;*/
  text-align: center;
  background: linear-gradient(135deg, #004288 69%, #004288ee 69%, #004288 80%);
  color: #ffffff;
}
}
#announcement .h2-01 {
  font-size: clamp(1.65rem, .0rem + 2.6vw, 2.8rem);
  margin-top: 3rem;
  margin-bottom: 2rem;
  text-shadow: 0 0 10px #ffffff;
}
#announcement .mark {
  font-size: clamp(1.45rem, .0rem + 2.2vw, 2.4rem);
  background-color: #f1e912;
  border-radius: .5rem;
  color: #004c9c;
}
#announcement .place {
  font-size: clamp(1.3rem, .6rem + 1.1vw, 2.2rem);
}
#announcement .date {
  font-size: clamp(1.3rem, .6rem + 1.1vw, 2.2rem);
  font-weight: bold;
}
#announcement .date strong {
  font-size: clamp(1.4rem, 1.6rem + 1.1vw, 2.8rem);
}
.movies {
  text-align: center;
}
.movies .h3-01 {
  font-weight: bold;
}
.movies a img {
  box-shadow: 0 0 10px #00000044;
  max-width: 640px;
  width: 100%;
  height: auto;
}
.movies a:hover {
  opacity: .9;
}
.modal-dialog {
  max-width: fit-content;
}
.modal-header {
  border: none;
}
.modal-body {
  padding: 0;
}
.modal-content {
  border: none;
  background-color: transparent;
}
.modal-header .btn-close {
  padding: 1rem;
  border-radius: 2em;
  background-color: #ffffff55;
  box-shadow: 0 0 10px #ffffffff;
  border: 1px solid #ffffffcc;
}

@media screen and (min-width:768px){
}
@media screen and (max-width:767.9px){
  #announcement .h2-01 {
    font-size: 5.2vw;
    margin-top: 1rem;
    margin-bottom: 3rem;
  }
  #announcement .date-box {
  }
  .date-box .place {
    font-size: 4.6vw;
    text-shadow: 0 0 10px #ffffffff;
    margin-bottom: .55em;
  }
  .date-box .date {
    margin-right: auto;
    margin-left: auto;
    width: 60%;
  }
  .date-box .date img {
  max-width: none;
    width: 100%;
  }
  .movies .h3-01 {
    font-size: 3.6vw;
  }
  .modal-body iframe { 
    width: 100vw;
    height: 56vw;
  }
  .modal-dialog {
    width: 100%;
    height: auto;
    max-width: none;
  }
}
/* #exhibitor */
.exhibitor-inner {
  text-align: center;
  padding-top: 3rem;
	padding-bottom: 3rem;
}
.exhibitor-brackets{
    position: relative;
  padding-top: 2rem;
	padding-bottom: 2rem;
}
.exhibitor-brackets::before,
.exhibitor-brackets::after {
    position: absolute;
    top: -2px;
    width: 2rem;
    height: 100%;
	content: '';
    border-top: solid 2px #004288;
    border-bottom: solid 2px #004288;
}

.exhibitor-brackets::before {
    border-left: solid 2px #004288;
    left: 0;
}

.exhibitor-brackets::after {
    border-right: solid 2px #004288;
    right: 0;
}
#exhibitor {
  h2 {
    margin-bottom: 3rem;
    color: #004288;
  }
  .comment {
    font-size: 1.4rem;
    color: #cc2222;
    background-color: #ffeeee;
    display: inline-block;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
#exhibitor .date-box {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3rem;
  background-color: #ffffff;
}
#exhibitor .date-title {
  padding: .4rem .8rem;
  color: #666666;
  margin-right: 1rem;
  font-size: 1.5rem;
  font-weight: bold;
  border-radius: 0;
}
#exhibitor .date-term {
  padding: .5rem;
  font-size: 1.2rem;
  margin-bottom: 0;
  font-weight: bold;
}
#exhibitor .date-term strong {
  font-size: 2.0rem;
}
.btn-more {
  width: 50%;
  padding: 1.5rem 2rem;
  box-shadow: 0 0 8px #00000044;
}
.text-large {
  font-size: 1.4rem;
}
@media screen and (min-width:768px){
}
@media screen and (max-width:767.9px){
  .exhibitor-inner {
    width: 92vw;
  }
  #exhibitor {
    overflow: hidden;
  }
.exhibitor-brackets::before,
.exhibitor-brackets::after {
	content: none;
}
  #exhibitor .date-box {
    display: block;
  }
  #exhibitor .date-title {
    border-right: none;
    border-bottom: 2px solid #004288;
    color: #222222;
    margin-right: 0;
  }
  #exhibitor .date-title,
  #exhibitor .date-term {
    font-size: 1.0rem;
  }
#exhibitor .date-term strong {
  font-size: 1.4rem;
}
  .btn-more {
    width: 70%;
  }
}
/* #report */
#report { 
  background: #ebebeb;
}
#report .banners {
  display: flex;
  margin-bottom: 2rem;
}
#report .banner {
  position: relative;
  overflow: hidden;
  border-radius: .5rem;
  box-shadow: 0 2px 8px #00000030;
}
#report .banner a:hover {
  opacity: .8;
}
#report .banner-img {
  width: 100%;
  height: auto;
}
#report .banner-text {
  font-size: 1.2rem;
  font-weight: bold;
  position: absolute;
  bottom: 0;
  right: 0;
  color: #222222;
  background-color: #ffffff;
  padding: .8rem 2rem;
  margin-bottom: 0;
}
#report .banner-arrow {
  color: #eb0606;
  font-size: 1.4rem;
}
@media screen and (min-width:768px){
  #report .banner:first-child {
    margin-right: 2rem;
  }
}
@media screen and (max-width:767.9px){
  #report .banners {
    display: block;
  }
  #report .banner {
    margin-bottom: 2rem;
  }
  #report .banner-text {
    padding: .5rem 1.5rem;
  }
}
/* information */
#information {
  background-color: #ffffff;
  margin-bottom: 0;
}
.info-block {
  margin-bottom: 2rem;
  border-top: 1px solid #999999;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}
.info {
  display: flex;
  padding: .8rem;
  border-bottom: 1px solid #999999;
  margin-bottom: 0;
  font-size: 1.3rem;
}
.info-title {
  width: 10rem;
  margin-bottom: 0;
  font-weight: normal;
}
.info-text {
  margin-bottom: 0;
}
.info-text a {
  display: block;
}
@media screen and (min-width:768px){
}
@media screen and (max-width:767.9px){
  #information {
    padding-bottom: 3rem;
  }
  .info {
    display: block;
  }
}