body{
  margin:0;
  font-family:"Hiragino Kaku Gothic ProN","メイリオ",sans-serif;
  background:#f5f5f5;
}
html{
  scroll-behavior:smooth;
}

.exhibitor-card{
  scroll-margin-top:120px;
}

.wrapper{
  max-width:1100px;
  margin:30px auto;
  padding:10px;
  background:#fff;

}
.title-area{
  border:4px solid #f894a2e5;
  padding:10px;
  height:260px;
  display:flex;
  justify-content:center;
  align-items:center;
  box-sizing:border-box;
  background:#fff;
  box-shadow:0 6px 0 #f894a2e5;
  transition:0.3s;
  overflow:hidden;
}

.title-area a{
  width:100%;
  height:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  text-decoration:none;
}

.title-image{
  width:70%;
  height:70%;
  object-fit:cover;
  display:block;
  border-radius:6px;
}
.title-area:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 18px rgba(0,0,0,0.12);
}

.company-area{
  display:flex;
  margin-top:30px;
  gap:20px;
  align-items:center;
}
.company-label{
  background:#faa2aee5;
  color:#fff;
  padding:20px 20px;
  font-size:24px;
  font-weight:bold;
  border-radius:24px;
  white-space:nowrap;
  display:flex;
  justify-content:center;
  align-items:center;
}
.company-list{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:8px;
  width:100%;
}
.company-box{
  border:4px solid #faa2aee5;
  border-radius:14px;
  background:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:70px;
  padding:10px;
  transition:0.25s;
  box-shadow:0 4px 0 #faa2aee5;
  text-align:center;
}
.company-box a{
  text-decoration:none;
  color:#000;
  font-weight:bold;
  font-size:16px;
}
.company-box:hover{
  background:#f7cad0e5;
  transform:translateY(-6px);
  box-shadow:0 10px 0 #f7cad0e5;
}
.info-area{
  display:flex;
  margin-top:40px;
  gap:40px;
}
.info-box{
  flex:1;
}
.info-title{
  border:4px solid #f17686e5;
  padding:10px;
  text-align:center;
  font-size:20px;
  font-weight:900;
  letter-spacing:6px;
  background:#F0F0F0;
  border-radius:8px;
}
.info-content{
  font-size:34px;
  font-weight:300;
  letter-spacing:-2px;
  margin-top:20px;
}
.info-content small{
  display:block;
  font-size:24px;
  font-weight:700;
  margin-top:12px;
  white-space:nowrap;
  letter-spacing:1px;
}
.info-content a{
  text-decoration:none;
  color:#000;
}
.info-content a:hover{
  color:#3fb8f0;
}
.event-content{
  font-size:42px;
  font-weight:700;
  letter-spacing:-2px;
  text-align:center;
}
.event-content a{
  white-space:nowrap;
}

/* ====== 企業紹介エリア ====== */
.exhibitor-section{
  margin-top:35px;
  padding-top:20px;
}
.section-title{
  text-align:center;
  font-size:32px;
  font-weight:900;
  margin-bottom:35px;
  padding-bottom:12px;
  border-bottom:4px solid #f17686e5;

  border-left:none;   /* ←追加 */
  padding-left:0;     /* ←追加（余白対策） */
}
.exhibitor-card{
  display:flex;
  flex-direction:row-reverse;
  gap:30px;
  background:#fff;
  border:3px solid #faa2aee5;
  border-radius:18px;
  padding:25px;
  margin-bottom:35px;
  box-shadow:0 6px 0 #f7cad0e5;
  align-items:stretch;
}

.exhibitor-image{
  width:40%;
  padding:15px;
  background:#fafafa;
  border:1px solid #e5e5e5;
  border-radius:12px;

  display:flex;
  justify-content:center;
  align-items:center;

  height:270px;
  align-self:center;
}

.exhibitor-image img{
  width:100%;
  max-width:340px;
  height:240px;
  object-fit:contain;
  object-position:center center;
  display:block;
  border-radius:10px;
}

.exhibitor-text{
  width:65%;
}
.exhibitor-text h3{
  font-size:32px;
  font-weight:900;
  margin-top:0;
  border-left:8px solid #f17686e5;
  padding-left:12px;
}
.catchcopy{
  font-size:26px;
  font-weight:bold;
  color:#d94f63;
  margin:15px 0 20px;
}
.product-info{
  margin-top:15px;
}
.product-info dt{
  font-size:16px;
  font-weight:bold;
  background:#f7cad0e5;
  padding:8px 12px;
  border-radius:6px;
  margin-top:15px;
}
.product-info dd{
  font-size:16px;
  line-height:1.8;
  margin:8px 0 0 0;
}
.company-detail-table{
  width:100%;
  margin-top:15px;
  border-collapse:collapse;
}
.company-detail-table th{
  width:100px;
  background:#f7cad0e5;
  padding:8px;
  border:1px solid #eee;
  font-weight:bold;
}
.company-detail-table td{
  padding:8px;
  border:1px solid #eee;
}
.hp-button{
  display:inline-block;
  margin-top:20px;
  padding:12px 24px;
  background:#f17686e5;
  color:#fff !important;
  font-weight:bold;
  text-decoration:none;
  border-radius:30px;
  box-shadow:0 4px 0 #d85d6de5;
}
.hp-button:hover{
  background:#d94f63;
  text-decoration:none;
  transform:translateY(-2px);
}

/* TOPへ戻るボタン */
.page-top{
  position:fixed;
  right:25px;
  bottom:25px;
  width:60px;
  height:60px;
  background:#f17686e5;
  color:#fff;
  border-radius:50%;
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:24px;
  text-decoration:none;
  box-shadow:0 4px 10px rgba(0,0,0,0.2);
  z-index:999;
  transition:0.3s;
}

.page-top:hover{
  background:#d94f63;
  color:#fff;
  transform:translateY(-5px);
  text-decoration:none;
}


@media(max-width:768px){
  .company-area{
    flex-direction:column;
  }
  .company-list{
     grid-template-columns:1fr;
  }
    .info-title{
    font-size:16px;
    letter-spacing:1px;
  }

  /* 企業名 */
  .exhibitor-text h3{
    font-size:20px;
    line-height:1.4;
    letter-spacing:-0.5px;
    white-space:normal;
    word-break:keep-all;
  }

  /* 参加企業一覧 */
  .company-box a{
    font-size:16px;
    line-height:1.4;
    letter-spacing:-0.3px;
    white-space:normal;
    word-break:keep-all;
  }
   /* 場所 */
  .info-content{
    font-size:26px;
    line-height:1.3;
    word-break:keep-all;
  }

  .info-content small{
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  white-space:normal;
}
  .info-area{
    flex-direction:column;
  }
  .event-content{
    font-size:24px;
  }
   .exhibitor-card{
    flex-direction:column;
    align-items:stretch;
  }

  .exhibitor-image{
    width:100%;
    min-height:260px;
    display:flex;
    justify-content:center;
    align-items:center;
  }

  .exhibitor-image img{
    width:100%;
    max-width:340px;
    height:240px;
    object-fit:contain;
    object-position:center center;
    border-radius:10px;
  }


  .exhibitor-text{
    width:100%;
  }
 
  .title-area{
  height:90px;
  padding:6px;
}

.title-image{
  width:100%;
  height:100%;
  object-fit:cover;
}
  .page-top{
    width:50px;
    height:50px;
    font-size:20px;
    right:15px;
    bottom:15px;
  }  
 



}

