@charset "utf-8";

/* ##################################### academic-forum.css ##################################### */

/* ============= clearfix ============= */
#wrapper.exhibitor.academic .seminar li::after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}


/* ============= 発酵アカデミックフォーラム ============= */
/* ===== メインビジュアル ===== */
#wrapper.exhibitor.academic #mainvisual {
  /*padding-top:138px;*/
	position: relative;
    height: 200px;
    margin-bottom: 30px;
	background: url(/img/home/mainvisual_bg.jpg) center center / cover;
	box-shadow: 0 6px 4px -3px rgba(0,0,0,0.3);
}

@media print, screen and (min-width: 640px/*768px*/) {
#wrapper.exhibitor.academic #mainvisual {
    height:350px;
}
}



/* ---横並び01,02 --- */
.parallel01 dl {}

.parallel01 dl:last-child,
.parallel02 dl:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.parallel01 dt {
    float: left;
    margin-right: 20px;
    width: 330px;
}
.parallel01 dd {
    float: right;
    width: calc(100% - 330px - 20px);
}

.parallel02 dt {
    float: left;
    margin-right: 20px;
    width: calc(100% - 330px - 20px);
}
.parallel02 dd {
    float: right;
    width: 330px;
}

@media screen and (max-width:767px) {
.parallel01,
.parallel01 { width: auto; }
.parallel01 dt,
.parallel01 dd,
.parallel02 dt,
.parallel02 dd {
    float:none;
    width: auto;
}
.parallel01 dt {
    margin:0 0 20px;
    text-align: center;
}
.parallel02 dt {
}
}


.theme-target .item {
    color: #6a3906;
    font-size: 1.2em;
    font-weight: bold;
}


#wrapper.exhibitor .feature .list,
#wrapper.exhibitor .features .list {
    margin: 0 auto 30px auto;
    text-align: center;
}
#wrapper.exhibitor .feature .exhibitor-visitor,
#wrapper.exhibitor .features .exhibitor-visitor {
    margin: 0 auto;
    text-align: center;
}

@media print, screen and (min-width:768px) {
#wrapper.exhibitor .feature .list {
    width: 85%;
    margin: 0 auto 60px auto;
}
#wrapper.exhibitor .features .list {
    margin: 0 auto;
}
#wrapper.exhibitor .feature .exhibitor-visitor,
#wrapper.exhibitor .features .exhibitor-visitor { width: 85% }
}


/* --- セミナー一覧 --- */
#wrapper.exhibitor.academic .seminar {
    margin-bottom:10px;
    padding:15px 20px 10px 20px;
	border-radius:6px;
}
#wrapper.exhibitor.academic .seminar .title {
    margin-bottom: 1em;
    padding-bottom: 0.2em;
    color: #9b0528;
    font-size:2.2rem;
    font-weight:bold;
}

#wrapper.exhibitor.academic .seminar li {
    margin-bottom:10px;
    border-bottom:1px dotted #999;
}
#wrapper.exhibitor.academic .seminar ul.no-border li {
    margin-bottom:0;
    border:none;
}


#wrapper.exhibitor.academic .seminar .ph { 
    margin: 0 0 20px 0;
    text-align: center;
}

#wrapper.exhibitor.academic .seminar .ph img { max-width: 200px; }

#wrapper.exhibitor.academic .seminar p.name {
    margin:10px 0 0 0;
    font-size: 1.6rem;
    text-align: center;
    white-space: nowrap;
}
#wrapper.exhibitor.academic .seminar p.name span {
    font-size: 1.8rem;
    font-weight: bold;
}

@media print, screen and (min-width:992px) {
/*#wrapper.exhibitor.academic .seminar ul.single { margin:0 0 0 50px; }*/
#wrapper.exhibitor.academic .seminar .ph {
    float:left;
    /*width: 20%;*/
    margin: 0 20px 10px 0;
}
#wrapper.exhibitor.academic .seminar .ph img {
    max-width: 100px;
    text-align: left;
}
#wrapper.exhibitor.academic .seminar p.name {
    width: calc( 100% - 140px );
    margin:0 0 10px 20px;
}
}

/* --- セミナー一スペース --- */
#wrapper.exhibitor.academic .seminar-space dl {}

#wrapper.exhibitor.academic .seminar-space dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
}

#wrapper.exhibitor.academic .seminar-space dd {
    margin-bottom: 50px;
}




/* ===== 出展対象・募集テーマ・来場対象者 ===== */
.expoArea{
  padding: 20px 15px;
  color: #111;
}

.expoArea img{
  max-width: 100%;
  height: auto;
  display: block;
}

/* ===== 共通ボックス ===== */
.box{
  background: #f6dfd6;
  padding: 16px;
  position: relative; /* 矢印用 */
    border-radius: 15px;
}

.box-title{
  text-align: center;
  color: #c40000;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.box-inner{
  background: #fff;
  padding: 14px 18px;
}

.box-inner ul{
  margin: 0;
  padding-left: 1.2em;
  font-size: 18px;
  line-height: 1.9;
  font-weight: bold;
}
.box-inner li {list-style:disc; }

/* 上段（出展対象）だけ中央寄せ＆幅を少し絞る */
.box-exhibitor{
  max-width: 50%;
  margin: 0 auto 22px;
}

/* ===== 下段：Flex ===== */
.rowFlex{
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

/* 左右は伸ばす、中央は固定寄り */
.colFlex{
  flex: 1 1 0;
  min-width: 260px; /* 長文で潰れない最低幅 */
}

.deal{
    /*flex: 0 0 320px;*/ /* 中央の列幅（必要なら調整） */
    margin: 0;
    position: relative; /* SPの下向き矢印用 */
    align-self: center;
}

.colFlex {flex: 1.7 1 0;}
.deal {flex: 1 1 0; }
    

/* ===== PC時：横矢印（左右） ===== */
.box-theme::after{
  content: "";
  position: absolute;
  top: 50%;
  right: -18px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 18px solid #f6dfd6;
}

.box-visitor::before{
  content: "";
  position: absolute;
  top: 50%;
  left: -18px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-right: 18px solid #f6dfd6;
}

/* ===== SP時：縦並び＋下向き矢印 ===== */
@media (max-width: 899px){
  .rowFlex{
    flex-direction: column;
    gap: 18px;
  }

  .colFlex,
  .deal{
    flex: none;
    width: 100%;
    min-width: 0;
  }
 
.box-exhibitor{
  max-width: 100%;
}   
    .expoArea img{
      max-width: 80%;
    }

  /* PC用の横矢印は消す */
  .box-theme::after{ content: none; }
  .box-visitor::before{ content: none; }

  /* 縦：募集テーマの下へ下向き矢印 */
  .box-theme::after{
    content: "";
    position: absolute;
    top: auto;
    left: 50%;
    /*bottom: -18px;*/
    bottom: 0;
    /*transform: translateX(-50%);*/
    transform: translate(-50%, 100%);
    width: 0;
    height: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-top: 18px solid #f6dfd6;
  }

  /* 縦：画像の下へ下向き矢印 */
  .deal::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -18px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-bottom: 18px solid #f6dfd6;
  }
}


