@charset "utf-8";
/* CSS Document */


body{
background-color: #f5f5f5;
font-family: 'Noto Sans JP', sans-serif;
overflow: hidden;
}

html.no-scroll {
  overflow: hidden;
}

body.no-scroll {
  position: fixed;
  width: 100%;
  overflow: hidden;
}



/* ─────────────────────────────
   サイドメニュー（最終版）
───────────────────────────── */

.container{
  margin: 0 auto;
  width: 100%;
}

.side-menu{
  width: 20%;
  position: fixed;
  top: 0;
  right: 2%;
}

.side-menu .logo{
  padding: 1.5rem 0;
  width: 90%;
  text-align: center;
  margin: 0 auto;
}

.side-menu li{
  display: flex;
  font-size: 1.3rem;
  background: #777777;
  text-align: center;
}

/* 共通リンク */
.side-menu li a{
  display: block;
  padding: 1.5rem 2rem;
  width: 100%;
  height: 100%;
  color: #f5f5f5;
  text-decoration: none;

  transition:
    background 0.2s ease,
    color 0.2s ease,
    padding-left 0.2s ease,
    opacity 0.2s ease;
}

/* current（現在地：絶対に変えない） */
.side-menu li a.current{
  background: #0e0e0e;
  color: #FCEE21;
  pointer-events: none;
  padding-left: 2rem;
}

/* 来場登録（赤） */
.side-menu li a.touroku{
  background-color: #a81f25;
}

/* 来場登録 hover（赤の質感だけ変える） */
.side-menu li a.touroku:hover{
  background: linear-gradient(
    180deg,
    #c93a3f,
    #a81f25
  );
  padding-left: 2.5rem;
}

/* 通常メニュー hover（current・touroku 以外） */
.side-menu li a:not(.current):not(.touroku):hover{
  background: linear-gradient(
    180deg,
    #707070,
    #666666
  );
  color: #ffffff;
  padding-left: 2.5rem;
}

/* 区切り線 */
.side-menu .menu li + li{
  border-top: 10px solid #ffffff;
}

/* SP用 */
.sp-menu{
  display: none;
}



/* tablet & mobile */
@media screen and (max-width: 1024px){

  .side-menu{
    display: none;
  }

  .sp-menu{
    display: block;
    position: relative;
  }
}

/* iPad Air / mini */
@media screen and (max-width: 834px) {}
/* mobile */
@media screen and (max-width: 480px) {}



/*　トップページ　メインメニュー
----------------------------------------------------------------------------*/


.wrapper{
width: 77%;
}

.main{
position: relative;
}

.pc-mv{
}

.pc-mv img{
max-width: 100%;
height: auto;
vertical-align: bottom;
}


.heading{
text-align: center;
margin: 0 auto;
padding: 0;
}

.heading p{
font-size: 24px;
line-height: 1.5;
font-weight: bold;
padding: 0.5rem 0;
background-color: #0e0e0e;
/*border: 9px inset #4EA3FA;*/
color: #fcee21;
}

.ex-heading{
text-align: center;
margin: 2rem auto;
padding: 0 3rem;
}

.ex-heading p{
font-size: 2rem;
line-height: 1.7;
font-weight: bold;
letter-spacing: 0.25rem;
}

.sp-mv{
display: none;
}

/* PCではスマホ用メニューを完全に消す */
@media screen and (min-width: 1025px){
  .globalMenuSp{
    display: none;
  }
}


/**/

/* tablet (iPad Pro / Air) */
@media screen and (max-width:1024px){
	

.wrapper{
width: 100%;
}

.pc-mv{
display: block;
}

.sp-mv{
display: none;
}

.sp-mv img{
max-width: 100%;
vertical-align: bottom;
}

/*
.heading{
padding: 0 0.5rem;
}
*/

.heading p{
    font-size: 30px;
    line-height: 1.5;
    padding: 16px 0 20px;
}



/*　ハンバーガーメニューボタン　*/
.hamburger {
	position: relative;/*ボタン内側の基点となるためrelativeを指定*/
    background: #0e0e0e;
    cursor: pointer;
    width: 105px;
    height: 100px;
    /* float: right; */
    z-index: 12;
    left: 100%;
    transform: translateX(-100%);
	touch-action: manipulation;

}


.hamburger span {
    display: inline-block;
	transition: all .3s ease; /* ← 0.4s → 0.3s */
    position: absolute;
    left: 18px;
    height: 5px;
    border-radius: 5px;
    background: #00FFD1;
    width: 67%;
}

.hamburger span:nth-child(1) {
  top: 24px;
}
.hamburger span:nth-child(2) {
  top: 44px;
}
.hamburger span:nth-child(3) {
  top: 64px;
}

/*メニュー背景*/
.hamburger span:nth-of-type(3)::after {
content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
position: absolute;
top: 2px;
left: 8px;
color: #fefefe;
font-size: 1.2rem;
text-transform: uppercase;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
top : 31px;
left: 18px;
transform: translateY(6px) rotate(-45deg);
width: 67%;
}

.hamburger.active span:nth-child(2){
opacity: 0;
}

.hamburger.active span:nth-child(3) {
top: 43px;
left: 18px;
transform: translateY(-6px) rotate(45deg);
width: 67%;
}

.hamburger.active span:nth-of-type(3)::after {
content:"Close";/*3つ目の要素のafterにClose表示を指定*/
transform: translateY(0) rotate(-45deg);
top: 20px;
left: 38px;
}

/* メニュー背景　*/

/*
nav.globalMenuSp {
position: fixed;
z-index : 10;
top  : 0;
left : 0;
color: #fff;
background: rgba(0,0,0,0.9);*/
/*text-align: center;*/
	/*
width: 100%;
opacity: 0;
display: none;
transition: opacity .6s ease, visibility .6s ease;
transform: translateY(-10px);
}
*/
	
/* クリックでjQueryで追加・削除 */
/*
	nav.globalMenuSp.active {
	display: block;
	opacity: 0.95;
	transform: translateY(0);
}
	*/
	
nav.globalMenuSp{
  position: fixed;
  z-index: 11;
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
  background: rgba(0,0,0,0.9);

  visibility: hidden;
  transform: translateY(-10px);

  transition: transform .4s ease;
}

nav.globalMenuSp.active{
  visibility: visible;
  transform: translateY(0);
}
	
nav.globalMenuSp ul {
margin: 0 auto;
padding: 0;
width: 100%;
}
nav.globalMenuSp .active-headerimg{
width: 75%;
margin: 0rem auto;
}

nav.globalMenuSp .sp-menu-theme{
width: 80%;
margin: 3rem 0;
}

nav.globalMenuSp ul li {
list-style-type: none;
padding: 0;
width: 100%;
transition: opacity .5s ease;
border-bottom: 1px solid #ffffff;
opacity: 0;
}
	

nav.globalMenuSp.active ul li{
  opacity: 1;
}

	
nav.globalMenuSp ul li:last-child {
padding-bottom: 0;
border-bottom: none;
}
nav.globalMenuSp ul li a:hover{
  background : #FFC408;
  color: #000000;
  font-weight: 500;
}
nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1.8rem 0 1.8rem 3rem;
  text-decoration :none;
  font-size: 2rem;
}
nav.globalMenuSp .touroku{
	background: #C1272D;
}
	
nav.globalMenuSp li a.current{
  background-color: #FFC408;
  color: #000000;
  font-weight: 500;
}
nav.globalMenuSp .sp-menu-theme{
margin: 2rem 0;
}	
nav.globalMenuSp:not(.active) ul li {
  opacity: 0;
}

}



/* iPad Air / mini */
@media screen and (max-width: 834px){

  .pc-mv{
    display: none;
  }

  .sp-mv{
    display: block;
  }
  
 .hamburger span{
 left: 17px;
 }
	
.hamburger span:nth-of-type(3)::after{
    top: 5px;
    left: 7px;
}
.hamburger.active span:nth-of-type(3)::after {
    top: 18px;
    left: 36px;
}
.hamburger span:nth-child(1) {
    top: 20px;
}
.hamburger span:nth-child(2) {
    top: 40px;
}
.hamburger span:nth-child(3) {
    top: 60px;
}


}



/* mobile */
@media screen and (max-width: 480px) {

.ex-heading{
padding: 0 2rem;
}
.ex-heading p{
font-size: 26px;
}
.hamburger{
width: 3.9rem;
height: 4rem;
}

.hamburger span{
left: 11px;
width: 67%;
}

.hamburger span:nth-child(1){
top:10px;
}

.hamburger span:nth-child(2){
top:23px;
}

.hamburger span:nth-child(3){
top:36px;
}

.hamburger span:nth-of-type(3)::after{
    top: 5px;
    left: 2px;
    font-size: 13px;
}
.hamburger.active span:nth-of-type(3)::after {
    top: 10px;
    left: 16px;
}

.heading p{
font-size: 18px;
}

nav.globalMenuSp ul li a {
font-size: 1.2rem;
}


}


/*　開催レポート
----------------------------------------------------------------------------*/

.repo-2025{
text-align: center;
padding: 1rem;
margin:1rem 3rem 5rem;
}

.repo-2025 h2{
font-weight: bold;
font-size: 1.5rem;
letter-spacing: 1px;
display: inline-block;
padding: 0.5rem 1.2rem 0.7rem;
border-left: 15px solid #fbc02d;
}

.repo-2025 h3{
font-weight: bold;
font-size: 19px;
letter-spacing: 1px;
display: block;
padding: 4px 15px 8px;
border-left: 12px solid #E91E63;
text-align: left;
margin: 16px;
}

.repo-2025 p{
text-align: justify;
line-height: 1.8;
font-size: 1.1rem;
display: inline-block;
padding: 1rem;
}

.repo-photo{
margin: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
gap: 10px 0;
align-items: flex-end;
}

.repo-photo-each01{
position: relative;
display: inline-block;
width: 32%;
}

.repo-photo-each01 img{
display: inline-block;
width: 100%;
}

.repo-photo-each01 span{
position: absolute;
display: block;
top: 107%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
font-size: 1rem;
}

.repo-photo-each02{
position: relative;
display: inline-block;
width: 48.5%;
}

.repo-photo-each02 img{
display: inline-block;
width: 100%;
}

.repo-photo-each02 span{
position: absolute;
display: block;
top: 103%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
font-size: 20px;
}

/**/

/* tablet (iPad Pro / Air) */
@media screen and (max-width:1024px){}

/* iPad Air / mini */
@media screen and (max-width: 834px) {

.repo-photo{
margin: 0;
display: flex;
flex-direction: column;
align-items: center;
gap: 30px 0;
}

.repo-photo-each01{
width: 100%;
}

.repo-photo-each02{
width: 100%;
}

.repo-2025{
margin: 1rem 0.5rem 5rem;
}

.repo-photo-each{
width: 80%;
}

.repo-photo-each span{
top: 103%;
}


}

/* mobile */
@media screen and (max-width: 480px) {

.repo-2025{
padding: 0.5rem;
}

.repo-2025 h2{
font-size: 1rem;
}

.repo-2025 h3{
font-size: 16px;
}

.repo-2025 p{
font-size: 14px;
}

.repo-photo{
gap: 20px 0;
}

.repo-photo-each{
width: 90%;
}

.repo-photo-each01 span{
font-size: 16px;
}

.repo-photo-each02 span{
font-size: 16px;
}

}





/* ─────────────────────────────
   トップページ イベント紹介
───────────────────────────── */

.feature{
  display: flex;
  margin: 1.5rem 1rem;
  gap: 1.5rem;
}

/* 共通カード */
.feature a{
  width: calc((100% - 3rem) / 3);
  min-height: 100px;

  padding: 25px 20px;
  background-color: #ffd700;
  border: 5px solid #00695c;

  color: #0E0E0E;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.45;
  text-align: center;

  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 8px;

  transition: opacity 0.2s ease;
  
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    opacity 0.2s ease;  
}

/* hover */

.feature a:hover{
  opacity: 1;
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.2);
}

/* 新企画カードだけ一段だけ強く */
.feature a.is-new:hover{
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.2);
  border-color: #c1272d;
}


/* 同時開催（差分だけ） */
.feature a.kobe-bizmtg2025{
  border-color: #9C27B0;
}

/* サブテキスト */
.feature a .bizmtg-p{
  display: block;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 400;
	margin-top: -5px;
}

/* 新企画マーク */
.feature a.is-new{
  position: relative;
}

.feature a.is-new::before{
    content: "新企画 !!";
    position: absolute;
    top: -15px;
    left: -15px;
    background: #c1272d;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 999px;	
}


/* アイコン */
.feature .material-symbols-outlined{
  display: inline-block;
  font-size: 35px;
  color: #E91E63;
  transition: opacity 0.2s ease, transform 0.2s ease;
}



.feature-col{
margin: 3rem 0 5rem;
}

.feature-col .outer{
text-align: center;
background: #ffd700;
margin: 3rem 0;
padding: 3rem
}

.feature-col .outer h2{
display: inline-block;
font-weight: bold;
font-size: 1.7rem;
color: #fefefe;
padding: 0.75rem 2.5rem;
margin: 0 auto 0.5rem;
background: #333333;
border-radius: 0.35rem;
line-height: 1.3;
min-width: 45%;
}

.feature-col .outer h2.is-new{
  position: relative;
}

/* 新企画ラベル */
.feature-col .outer h2.is-new::before{
    content: "新企画!!";
    position: absolute;
    top: -18px;
    left: 18px;
    background: #C1272D;
    color: #fff;
    font-size: 25px;
    font-weight: bold;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
}


.feature-col .outer h3{
    font-size: 1.5rem;
    margin: 8px auto;
    font-weight: bold;
    display: block;
}

.feature-col .outer h3 span{
    font-weight: bold;
    color: #C2185B;
}

.feature-col .outer-bizmtg{
    text-align: center;
    background: #00796b;
    margin: 3rem 0;
    padding: 3rem;
}

.feature-col .outer-bizmtg h2{
display: inline-block;
font-weight: bold;
font-size: 1.7rem;
color: #fefefe;
padding: 0.75rem 2.5rem;
margin: 0 auto 0.5rem;
background: #333333;
border-radius: 0.35rem;
line-height: 1.3;
min-width: 45%;
}

.feature-col .outer-bizmtg h2.mono-kaisu {
    position: relative;
}

.feature-col .outer-bizmtg h2.mono-kaisu::before{
    content: "同時開催";
    position: absolute;
    top: -18px;
    left: 9px;
    background: #C1272D;
    color: #fff;
    font-size: 25px;
    font-weight: bold;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
}



.feature-col .outer-bizmtg h3{
font-size: 28px;
margin: 0 auto;
font-weight: bold;
color: #ffffff;
}


.detail{
    display: flex;
    margin-top: 1rem;
    flex-direction: column;
    align-items: center;
    row-gap: 1rem;
}

.detail-img{
display: inline-block;
width: 40%;
}

.detail-img img{
  display: block;
  max-width: 100%;
  height: auto;

  box-shadow: 0 8px 20px rgba(0,0,0,0.18);
}

.detail-p{
width: 100%;
max-width: 950px;
margin: 0 auto;
text-align: center;
}

.detail-p p{
/*flex: 1 1 auto;*/
font-size: 18px;
text-align: justify;
line-height: 1.65;
}

.detail-p .robot-app{
  position: relative;
  color: #C2185B;
  font-size: 21px;
  text-decoration: none;
}

.detail-p .robot-app::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: currentColor;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.detail-p .robot-app:hover::after{
  transform: scaleX(1);
}

.detail-p .niro-robotsemi{
margin-top: 1rem;
text-decoration: underline;
text-align: right;
}


.outer-bizmtg .detail-p{
width: 66%;
}

.outer-bizmtg .detail-p h3{
/*flex: 1 1 auto;*/
font-size: 1.55rem;
text-align: center;
line-height: 1.65;
font-weight: bold;
color: #ffffff;
}

.detail-p .mono-app{
    position: relative;
    color: #FFEB3B;
    font-size: 21px;
    text-decoration: none;
}

.detail-p .mono-app::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: currentColor;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.detail-p .mono-app:hover::after{
  transform: scaleX(1);
}


.youtube2025 {
text-align: center;
margin: 0 auto;
margin-top: 2rem;
max-width: 60%;
}

.youtube-16-9{
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}

.youtube2025 p{
    font-size: 30px;
    font-weight: bold;
    display: block;
    background: #00796b;
    padding: 5px;
    color: #ffffff;
    margin-top: -5px;
    letter-spacing: 2px;
}



.secretariat{
text-align: center;
margin: 3.5rem auto;
padding: 0 3rem;
}

.secretariat .syusai{
display: inline-block;
font-size: 2rem;
line-height: 1.45;
font-weight: bold;
border-bottom: 5px solid #4eaefa;
border-radius: 7px;
padding-left: 1rem;
padding-right: 1rem;
padding-bottom: 0rem;
margin-bottom: 0.35rem;
}

.secretariat .syusai-dantai{
font-size: 24px;
font-weight: bold;
letter-spacing: 0.1rem;
padding-bottom: 2rem;
}


.visitor-info{
  max-width: 760px;   /* ← 900px → 少し細身に */
  margin: 3rem auto;
  padding: 2rem 2.5rem;

  background: #f9f9f9;
  border: 1px solid #ddd;
  border-left: 6px solid #00695c;
}

/* 見出し */
.visitor-info-title{
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1.2rem;
  color: #333;
}

/* リスト */
.visitor-info-list{
  list-style: disc;
  padding-left: 1.5rem;
  margin: 0;
}

.visitor-info-list li{
  font-size: 0.95rem;
  line-height: 1.7;
  color: #444;
  margin-bottom: 0.75rem;
}

/* リンク */
.visitor-info-list a{
  color: #C2185B;
  text-decoration: none;
}

.visitor-info-list a:hover{
  text-decoration: underline;
}



/* tablet (iPad Pro / Air) */
@media screen and (max-width:1024px){

/* 新企画マーク */
  .feature-col .outer h2.is-new::before{
    top: -16px;
    left: 16px;
    font-size: 22px;
    padding: 0.25rem 0.7rem;
  }
  
/* 新企画マーク */
.feature a.is-new::before{
top: -12px;
left: -12px;
font-size: 18px;
padding: 8px 18px;
}

/*ご来場のみなさまへ*/
.visitor-info{
max-width: 700px;
margin: 2.5rem auto;
padding: 1.8rem 2.2rem;
}

.visitor-info-title{
font-size: 1.3rem;
}

.detail-img {
    display: inline-block;
    width: 55%;
}

}

/* iPad Air / mini */
@media screen and (max-width: 834px) {

  .feature{
    flex-direction: column;
    align-items: center;
    margin: 3rem 2rem;
  }

  .feature a{
    width: 75%;
    font-size: 1.8rem;
    padding: 2rem 3rem;
  }

  /* 同時開催は「差分だけ」 */
  .feature a.kobe-bizmtg2025{
    width: 75%;
  }

.feature-col .outer{
padding: 3rem 2rem;
margin: 0 0 1.5rem;
}

.feature-col .outer h2{
font-size: 1.7rem;
line-height: 1.4;
}

.feature-col .outer h3{
font-size: 1.35rem;
}

.feature-col .outer-bizmtg{
padding: 3rem 2rem;
margin: 0 0 0 0;
}

.feature-col .outer-bizmtg h2{
font-size: 1.7rem;
}

.feature-col .outer-bizmtg h3{
font-size: 1.35rem;
}

/* 新企画マーク */
.feature-col .outer h2.is-new::before{
top: -14px;
left: 14px;
font-size: 20px;
padding: 0.25rem 0.65rem;
}
/* 新企画マーク */
.feature a.is-new::before{
    top: -26px;
    left: 5px;
    font-size: 22px;
    padding: 6px 14px;
}
/* 同時開催マーク */
.feature-col .outer-bizmtg h2.mono-kaisu::before{
    top: -14px;
    left: 14px;
    font-size: 20px;
    padding: 0.25rem 0.65rem;
}



.detail{
display: flex;
flex-direction: column;
align-items: center;
}

.detail-img{
width: 70%;
margin-bottom: 0.5rem;
}

.detail-p{
width: 100%;
}

.detail-p .robot-app{
  font-size: 19px;
  text-decoration: underline;
}

.outer-bizmtg .detail-p{
width: 100%;
}

.detail-p .mono-app{
text-decoration: underline;
}

.secretariat{
padding: 0 0.5rem;
}

.secretariat .syusai-dantai{
font-size: 1.7rem;
line-height: 1.8;
}

.youtube2025 {
max-width: 100%;
margin-top: 0;
}

/*ご来場のみなさまへ*/

.visitor-info{
max-width: 88%;
margin: 2.5rem auto;
padding: 1.6rem 2rem;
}

.visitor-info-title{
font-size: 1.25rem;
}

.visitor-info-list li{
font-size: 0.9rem;
}

}

/* mobile */
@media screen and (max-width: 480px) {

  .feature{
    margin: 1rem 0;
  }

  .feature a{
    width: 85%;
    font-size: 22px;
    padding: 10px 20px 5px;
  }

  .feature a.kobe-bizmtg2025{
    width: 85%;
  }

  .feature a .bizmtg-p{
    font-size: 15px;
    line-height: 1.35;
  }


.feature-col{
margin: 2rem 0 3rem;
}

.feature-col .outer{
padding: 2rem 1rem;
}

.feature-col .outer h2{
font-size: 1.1rem;
padding: 1rem;
margin: 0px auto 1.5rem;
	min-width: 85%;
}

.feature-col .outer h3{
font-size: 1.05rem;
}


.feature-col .outer-bizmtg{
padding: 2rem 1rem;
margin-bottom: 0;
}

.feature-col .outer-bizmtg h2{
font-size: 1.1rem;
padding: 1rem;
margin: 0px auto 1rem;
}

.feature-col .outer-bizmtg h3{
font-size: 17px;
}

/* 新企画マーク */
.feature-col .outer h2.is-new::before{
    top: -20px;
    left: 5px;
    font-size: 16px;
    padding: 6px 14px;
}
  
/* 新企画マーク */
.feature a.is-new::before{
top: -8px;
left: -8px;
font-size: 14px;
padding: 6px 14px;
}

/* 同時開催マーク */
.feature-col .outer-bizmtg h2.mono-kaisu::before{
    top: -14px;
    left: 7px;
    font-size: 18px;
    padding: 0.25rem 0.65rem;
}



.detail-p p{
font-size: 0.9rem;
line-height: 1.4;
}

.detail-p span{
	font-size: 16px;
}


  .notice-dx-jinzai{
    max-width: 92%;
    padding: 1.2rem 1.2rem;
    border-left-width: 4px;
  }

  .notice-dx-jinzai li{
    font-size: 0.88rem;
    line-height: 1.6;
  }


.outer-bizmtg .detail-p p{
font-size: 1rem;
line-height: 1.5;
}

	.detail-p .robot-app{
		font-size: 14px;
	}

.detail-p .mono-app{
font-size: 13px;
text-decoration: underline;
}

.secretariat{
margin: 2rem auto;
}

.secretariat .syusai {
font-size: 23px;
border-bottom: 5px solid #4eaefa;
}

.secretariat .syusai-dantai {
font-size: 1.2rem;
line-height: 1.7;
padding-left: 0.5rem;
padding-right: 0.5rem;
}

.detail-img{
width: 90%;
margin-bottom: 0.5rem;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
top : 18px;
left: 15px;
transform: translateY(6px) rotate(-45deg);
width: 55%;
}

.hamburger.active span:nth-child(2){
opacity: 0;
}

.hamburger.active span:nth-child(3) {
top: 30px;
left: 15px;
transform: translateY(-6px) rotate(45deg);
width: 55%;
}

.youtube2025 {
max-width: 100%;
margin-top: 0;
}
.youtube2025 p{
font-size: 22px;
}

/*ご来場のみなさまへ*/
.visitor-info{
max-width: 92%;
margin: 2rem 0.5rem;
padding: 1.4rem 1.1rem;
border-left-width: 4px; /* 少し軽く */
}

.visitor-info-title{
font-size: 1.15rem;
margin-bottom: 1rem;
}

.visitor-info-list{
padding-left: 1.2rem;
}

.visitor-info-list li{
font-size: 0.88rem;
line-height: 1.6;
}

}




/* =========================
   全体（30分セミナー）
========================= */

.detail-p02{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}

.detail-p02 ol{
  counter-reset: my-counter;
  list-style: none;
  font-size: 19px;
  line-height: 2.0;
  padding-left: 0;
}

/* =========================
   li = 1バナー（PC）
========================= */

.detail-p02 ol li{
  counter-increment: my-counter;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 6px;
}

/* =========================
   番号（PC）
========================= */

.detail-p02 ol li::before{
  content: counter(my-counter);
  display: flex;
  align-items: center;
  justify-content: center;

  min-width: 36px;
  height: 100%;

  font-family: "Arial Rounded MT Bold",
               "Segoe UI",
               "Helvetica Neue",
               Arial,
               sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #fff;

  background: #004D40;
  border-radius: 4px;
}

/* =========================
   entry-link（PC）
========================= */

.detail-p02 .entry-link{
  display: flex;
  align-items: center;
  gap: 20px;
  flex: 1;

  background: #00796B;
  color: #fff;
  padding: 8px 18px;

  border-radius: 4px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;

  font-size: 19px;
  text-decoration: none;
  cursor: pointer;

  transition:
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

/* =========================
   Time
========================= */

.detail-p02 .entry-link .time{
  display: inline-flex;
  align-items: center;

  font-family: "Arial Rounded MT Bold",
               "Segoe UI",
               "Helvetica Neue",
               Arial,
               sans-serif;
  font-size: 18px;
  font-weight: 600;

  line-height: 1;
  padding: 5px 8px;

  color: #004D40;
  background: #FFFFFFCC;
  border-radius: 3px;
  white-space: nowrap;
}

/* =========================
   カテゴリ（semi-kyu）
========================= */

.detail-p02 .semi-kyu{
  display: inline-block;
  width: 14%;
  text-align: center;

  padding: 2px 6px;
  font-size: 15px;
  line-height: 1.3;
  color: #F1F8F6;

  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.25);
	letter-spacing: -0.5px;
}

/* IoT */
.detail-p02 .semi-kyu.iot{
  background: #4CAF50;
}

/* AI */
.detail-p02 .semi-kyu.ai{
  background: #D84315;
}

/* =========================
   hover（PC）
========================= */

.detail-p02 ol li:hover .entry-link{
  background: #fb8c00;
  box-shadow: 0 6px 16px rgba(0,0,0,0.18);
  transform: translateY(-2px);
}

.detail-p02 ol li:hover::before{
  background: #E65100;
}

/* =========================
   セミナー注意書き（visitor-info風）
========================= */

.notice-dx-jinzai{
  max-width: 760px;
  margin: 1rem auto 0;
  padding: 1.5rem 2rem 1rem;

  background: #f9f9f9;
  border: 1px solid #ddd;
  border-left: 6px solid #00695c;

  list-style: disc;
  padding-left: 3rem; /* disc分の余白 */
  text-align: left;
}

/* 各項目 */
.notice-dx-jinzai li{
  font-size: 1rem;
  line-height: 1.7;
  color: #444;
  margin-bottom: 0.6rem;
}

/* 強調したい文言が出たとき用（任意） */
.notice-dx-jinzai li strong{
  color: #C2185B;
  font-weight: bold;
}

/* タイトルの件追加 */

.detail-p02 .entry-link .title{
  flex: 1;              /* 横を取らせる */
  text-align: left;     /* 2行でも自然 */
  line-height: 1.6;
font-size: 18px;
}




@media screen and (max-width: 834px) {

  .detail-p02{
    text-align: left;
  }

  .detail-p02 ol li{
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 10px 4px;
  }

  /* 番号：上・少しだけ強調 */
  .detail-p02 ol li::before{
    align-self: flex-start;
    min-width: 32px;
    height: auto;
    padding: 6px;
    font-size: 22px;       /* ← 下げる */
    line-height: 1.2;
  }

  /* メイン */

  .detail-p02 .entry-link{
    display: flex;           /* ← これが必要 */
    flex-direction: column;

    align-self: stretch;     /* ← 横いっぱいに広げる（重要） */
    width: auto;             /* ← 100%は禁止 */
    box-sizing: border-box;

    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 6px;

    font-size: 22px;
  }

  /* 時間 */
  .detail-p02 .entry-link .time{
    font-size: 18px;       /* ← 下げる */
    padding: 4px 8px;
  }

  /* カテゴリ */
  .detail-p02 .semi-kyu{
    width: 25%;
    font-size: 17px;       /* ← 下げる */
  }
	

	
}

/* =========================
   480px 以下（mobile）
========================= */

@media screen and (max-width: 480px) {

  .detail-p02 ol{
    font-size: 17px;
    line-height: 1.8;
  }

  /* 番号はさらにコンパクト */
  .detail-p02 ol li::before{
    min-width: 26px;
    font-size: 15px;
  }

  .detail-p02 .entry-link{
    padding: 8px;
    font-size: 17px;
	line-height: 1.5;
  }

  .detail-p02 .entry-link .time{
    font-size: 14px;
    padding: 3px 6px;
  }

  .detail-p02 .semi-kyu{
    font-size: 13px;
    padding: 2px 5px;
	  width: 40%;
  }
}


/* -------------------
お申込みのクラスを追加 
-------------------*/

/* entry-link 基本 */
.detail-p02 .entry-link{
  display: flex;
  align-items: center;
  gap: 20px;
  flex: 1;

  background: #00796B;
  color: #fff;
  padding: 8px 18px;

  border-radius: 4px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;

  text-decoration: none;
  cursor: pointer;

  transition:
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

/* タイトルは伸ばす */
.detail-p02 .entry-link .title{
  flex: 1;
}

/* CTA（PC：右寄せ・背景なし） */
.detail-p02 .entry-link .cta{
  margin-left: auto;
  font-size: 15px;
  color: #FFE0B2;
  white-space: nowrap;
  opacity: 0.9;
}

/* hover時のCTA（控えめ） */
.detail-p02 ol li:hover .cta{
  opacity: 1;
}




@media screen and (max-width: 834px){

  .detail-p02 .entry-link{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
	padding: 20px 18px 8px;
  }

  /* CTAを右下に */
  .detail-p02 .entry-link .cta{
    align-self: flex-end;
    margin-left: 0;
    font-size: 22px;
    margin-top: 4px;
    opacity: 0.8;
  }
}

@media screen and (max-width: 480px){

  .detail-p02 .entry-link .cta{
    font-size: 16px;
  }
}




/*detaio-02 end*/





/*  出展者一覧
---------------------------------*/

.e-ichiran{
margin-top: 0;
}
.e-bunya table{
margin: 0 auto 3rem;
}
table.ex-blueTable caption.sp-bunya{
  display: none;
}

/* 出展者一覧のテーブル */
table.ex-blueTable {
text-align: center;
border: 1px solid #1C6EA4;
background-color: #EEEEEE;
width: 95%;
/*text-align: left;*/
border-collapse: collapse;
margin-bottom: 5rem;
}
table.ex-blueTable td, table.ex-blueTable th {
  border: 1px solid #AAAAAA;
  padding: 10px 20px 12px;
  word-break: normal;
  overflow-wrap: break-word;
  text-align: left;
}
table.ex-blueTable tbody td {
font-size: 1rem;
}
table.ex-blueTable tbody td .old-co-name{
font-size: 0.8rem;
text-decoration: none;
display: inline-block;
}
/* 1列目の幅 */
table.ex-blueTable td:nth-child(1),
table.ex-blueTable th:nth-child(1){
width: 33%;
}
/* 1列目をリンクっぽく */
table.ex-blueTable td:nth-child(1) a{
color: #00695c;
text-decoration: underline;
cursor: pointer;

display: inline-block; /* transform を効かせるため */
transition:
color 0.2s ease,
transform 0.2s ease;
}
table.ex-blueTable td:nth-child(1) a:hover{
color: #004d40;
transform: translateX(4px);
}
/* 偶数行 */
table.ex-blueTable tr:nth-child(even){
  background: #f5f7f8;
}
table.ex-blueTable thead {
  background-color: #00695c; /* サイトのテーマカラー */
}
table.ex-blueTable thead th {
  font-size: 1.65rem;
  letter-spacing: 0.25rem;
  font-weight: bold;
  color: #f5f5f5;
  text-align: center;
  border: 2px solid #AAAAAA;
  /*border-left: 2px solid #D0E4F5;*/
}
table.ex-blueTable tfoot td {
  font-size: 1.2rem;
}
table.ex-blueTable tfoot .links {
  text-align: right;
}
table.ex-blueTable tfoot .links a{
  display: inline-block;
  background: #1C6EA4;
  color: #FFFFFF;
  padding: 2px 8px;
  border-radius: 5px;
}


/**/

/* tablet (iPad Pro / Air) */
@media screen and (max-width: 1024px){
  /* 表は崩さない */
}

/* iPad Air / mini */
@media screen and (max-width: 834px){

  table.ex-blueTable {
    width: 100%;
  }

  table.ex-blueTable td,
  table.ex-blueTable th {
    padding: 10px 10px;
    border: 1px solid #ccc;
    font-size: 1rem;
  }

  table.ex-blueTable th:nth-child(1),
  table.ex-blueTable td:nth-child(1){
    width: 35%;
  }
}


/* mobile */
@media screen and (max-width: 480px){

  /* ヘッダーは非表示 */
  table.ex-blueTable thead{
    display: none;
  }  

 /* 分野表示（caption） */
  table.ex-blueTable caption.sp-bunya{
    display: block;
    caption-side: top;
    width: 100%;
    padding: 0.7rem 1rem;
    background: #00695c;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
  }
  table.ex-blueTable{
    width: 100%;
  }
  /* 行をカード的に扱う */
  table.ex-blueTable tbody tr{
    display: block;
    padding: 1rem 0;
    border-bottom: 1px solid #ddd;
  }
  /* 各セルを縦並びに */
  table.ex-blueTable tbody td{
    display: block;
    width: 100%;          /* ← 30%を明示的に解除 */
    padding: 0.6rem 0.5rem 0.6rem 1rem;
    font-size: 0.8rem;
    border: none;
	box-sizing: border-box;
	letter-spacing: -0.5px;
  }
  /* 1列目（出展者名） */
  table.ex-blueTable td:nth-child(1){
    width: 100%;          /* ← ここが重要 */
  }
  table.ex-blueTable td:nth-child(1) a{
    font-size: 1rem;
    font-weight: bold;
    transform: none;      /* 動かさない */
  }
}






/* ─────────────────────────────
   出展者プレゼンテーション（PC版・最終完成）
───────────────────────────── */

.pre-bunya table{
  margin: 0 auto 5rem;
}

/* =================================================
   テーブル基本（出展者一覧と同トーン）
================================================= */

table.pre-Table{
  width: 95%;
  border-collapse: collapse;
  background-color: #ffffff;
  border: 1px solid #ccc;
}

table.pre-Table td,
table.pre-Table th{
  border: 1px solid #ccc;
  padding: 10px 16px;
  font-size: 1rem;
  text-align: left;
  word-break: normal;
  overflow-wrap: normal;
}

/* =================================================
   列幅（PC）
================================================= */

/* 列1：時間＋分野 */
table.pre-Table td:nth-child(1){
  width: 16%;
  text-align: left;
  font-weight: 700;
  white-space: nowrap;

  /* 揺れ防止 */
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
}

/* 列2：会社名 */
table.pre-Table td:nth-child(2),
table.pre-Table th:nth-child(2){
  width: 34%;
}

/* 列3：プレゼン内容 */
table.pre-Table td:nth-child(3),
table.pre-Table th:nth-child(3){
  width: 50%;
  line-height: 1.5;
}

/* =================================================
   午前 / 午後 見出し（thead）
================================================= */

table.pre-Table thead th{
  display: table-cell;          /* 念のため */
  background-color: #00695c;
  color: #f5f5f5;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: 0.1rem;
  text-align: center;
}

/* =================================================
   偶数行
================================================= */

table.pre-Table tbody tr:nth-child(even){
  background-color: #f5f7f8;
}

/* =================================================
   分野チップ（PC：時間の右隣）
================================================= */

table.pre-Table td:nth-child(1)::after{
  content: attr(data-field);
  display: inline-block;
  vertical-align: baseline;

  margin-left: 0.6rem;
  padding: 0.25rem 0.55rem;

  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.6;

  border-radius: 0.3rem;
  white-space: nowrap;

  background: #e0f2f1;
  color: #00695c;
}

/* =================================================
   分野ごとの色分け
================================================= */

table.pre-Table td[data-field="業務DX"]::after{
  background: #e3f2fd;
  color: #1565c0;
}

table.pre-Table td[data-field*="IoT"]::after{
  background: #ede7f6;
  color: #5e35b1;
}

table.pre-Table td[data-field="生産管理"]::after{
  background: #e8f5e9;
  color: #2e7d32;
}

table.pre-Table td[data-field="AI"]::after{
  background: #fff3e0;
  color: #ef6c00;
}

table.pre-Table td[data-field="神戸市国際エリア"]::after{
  background: #f5f5f5;
  color: #424242;
}



@media screen and (max-width: 1024px){

  table.pre-Table{
    width: 100%;
  }

}

@media screen and (max-width: 834px){

  /* 列1：時間＋分野 */
  table.pre-Table td:nth-child(1){
    width: 20%;
    font-size: 0.95rem;
  }

  /* 列2：会社名 */
  table.pre-Table td:nth-child(2),
  table.pre-Table th:nth-child(2){
    width: 30%;
  }

  /* 列3：プレゼン内容 */
  table.pre-Table td:nth-child(3),
  table.pre-Table th:nth-child(3){
    width: 50%;
    font-size: 0.95rem;
    line-height: 1.5;
  }

}


@media screen and (max-width: 480px){

  table.pre-Table,
  table.pre-Table *{
    box-sizing: border-box;
  }

  /* ★ PCの列幅を完全に打ち消す */
  table.pre-Table td:nth-child(1),
  table.pre-Table td:nth-child(2),
  table.pre-Table td:nth-child(3),
  table.pre-Table th:nth-child(1),
  table.pre-Table th:nth-child(2),
  table.pre-Table th:nth-child(3){
    width: auto;
    max-width: none;
  }


  table.pre-Table{
    width: 100%;
  }

  /* 午前／午後 見出しは表示 */
  table.pre-Table thead{
    display: table-header-group;
  }

  table.pre-Table thead th{
    font-size: 1.2rem;
    padding: 0.8rem 0.5rem;
  }

  /* 行をカード化 */
  table.pre-Table tbody tr{
    display: block;
    padding: 1rem 0.5rem;
    border-bottom: 1px solid #ddd;
  }

  /* セル共通 */
  table.pre-Table tbody td{
    display: block;
    border: none;
    padding: 0.4rem 0.5rem;
    font-size: 16px;
  }

  /* 時間＋分野（カード見出し） */
  table.pre-Table td:nth-child(1){
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;

    background: #00695c;
    color: #fff;

    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;

    padding: 0.55rem 0.9rem;
    border-radius: 0.45rem;
    margin-bottom: 0.6rem;
  }

  /* 分野チップ（SP） */
  table.pre-Table td:nth-child(1)::after{
    font-size: 0.9rem;
    padding: 0.35rem 0.65rem;
    border-radius: 0.35rem;
  }

  /* 会社名 */
  table.pre-Table td:nth-child(2){
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
  }

  /* 内容 */
  table.pre-Table td:nth-child(3){
    font-size: 0.95rem;
    line-height: 1.6;
    opacity: 0.8;
  }

}




/*　アクセス
----------------------------------------------------------------------------*/

.outer-access{
margin: 2rem auto;
padding: 2.5rem 2rem 5rem;
background-color: #CCCCCC;
}
.sanbo{
display: flex;
justify-content: center;
align-items: center;
margin: 0 3rem 2rem;
}
.sanbo img{
padding-right: 3rem;
width: 27%;
}
.sanbo-text .name{
font-size: 1.5rem;
color: #0e0e0e;
font-weight: bold;
margin-bottom: 1rem;
}
.sanbo-text .ad{
font-size: 1.2rem;
color: #0e0e0e;
}

.sanbo-text .ad{
  font-size: 1.2rem;
  color: #0e0e0e;
}


/* Google Map */
.inner-map{
position: relative;
width: 100%;
height: 0;
padding-top: 56.25%; /* 比率を16:9に固定 */
}

.inner-map iframe{
position: absolute;
inset: 0;
width: 100%;
height: 100%;
}
/*アクセス情報*/
.inner-access{
max-width: 800px;
/*width: fit-content;*/
margin: 2.5rem auto 2rem;
}

.inner-access ul{
margin-bottom: 1.5rem;
padding-left: 1.5rem;
}

.inner-access li{
text-align: left;
font-size: 1rem;
line-height: 1.8;
list-style: disc;
}

.inner-access p{
color: #C2185B;
font-weight: bold;
}


/**/

/* tablet (iPad Pro / Air) */
@media screen and (max-width:1024px){}

/* iPad Air / mini */
@media screen and (max-width: 834px){

  .sanbo{
    margin: 0 0 2rem;
  }

  .sanbo img{
    width: 40%;
    padding-right: 2rem;
  }

  .inner-access{
    margin-left: auto;
    margin-right: auto;
    padding: 0 1rem;
  }
}

/* mobile */
@media screen and (max-width: 480px){

  .outer-access{
    padding: 2.5rem 1rem 4rem;
  }

  .sanbo{
    flex-direction: column;
    text-align: center;
  }

  .sanbo img{
    width: 80%;
    padding-right: 0;
    margin-bottom: 1rem;
  }

  .sanbo-text .name{
    font-size: 1.1rem;
  }

  .sanbo-text .ad{
    font-size: 1rem;
  }

  .inner-access li{
    font-size: 0.9rem;
  }
}


/*　フッター
----------------------------------------------------------------------------*/
         
footer{
background: #111111;
padding: 3rem 3rem 0.5rem;
text-align: center;
}

footer .btn{
display: inline-block;
color: #fefefe;
font-size: 1.5rem;
border-radius: 0.5rem;
padding: 1.5rem 2.5rem;
font-weight: bold;
transition: 0.3s;
text-shadow: 1px 1px 3px #0e0e0e;
background-color: #4eaefa;
margin-bottom: 3rem;
}

footer .btn:hover {
opacity: 0.7;
}

footer a{
font-weight: bold;
font-size: 1.6rem;
text-shadow: 1px 1px 2px #333333;
}

footer .address p{
display: inline-block;
text-align: justify;
font-size: 1.4rem;
font-weight: bold;
line-height: 1.8;
color: #f5f5f5;
}

footer .address p a.niro{
display: inline-block;
text-align: justify;
font-size: 1.5rem;
font-weight: bold;
letter-spacing: 0.05rem;
line-height: 1.8;
color: #f5f5f5;
text-decoration: underline;
}

footer .address p a.e-mail{
display: inline-block;
text-align: justify;
font-size: 1.4rem;
font-weight: bold;
letter-spacing: 0.05rem;
line-height: 1.8;
color: #f5f5f5;
text-decoration: underline;
}

footer .copyright{
margin: 5rem auto 1rem;
}

footer .copyright p{
font-weight: normal;
font-size: 1.2rem;
letter-spacing: 1.8px;
color: #f5f5f5;
}


/**/

/* tablet (iPad Pro / Air) */
@media screen and (max-width:1024px){}

/* iPad Air / mini */
@media screen and (max-width: 834px) {

footer .address p a{
font-size: 1.7rem;
}

}

/* mobile */
@media screen and (max-width: 480px) {

footer{
padding: 3rem 1.5rem 5rem;
}

footer .address p{
font-size: 1rem;
}

footer .address p a{
font-size: 1.3rem;
}

footer .address p a.niro{
font-size: 18px;
}

footer .address p a.e-mail {
font-size: 1rem;
}

footer .copyright p{
font-weight: normal;
font-size: 0.8rem;
letter-spacing: 1.8px;
color: #f5f5f5;
}


}



/*　ページトップへのボタン
---------------------------------------------------------------------------*/

#page-top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0.1rem;
  bottom: 0.1rem;
  opacity: 0.9;
}
#page-top a{
  /*width: 75px;
  height: 75px;*/
  text-decoration: none;
}

#page-top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f139';
  font-size: 65px;
  color: #00695c;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 77px;
  height: 77px;
  background: #fff;
  border: 3px solid #00695c;
  border-radius: 50%;
}



.br-sp {
display: none;
}

.br-sp02{
display: none;
}

.invisible{
display: inline-block;
}


/* tablet (iPad Pro / Air) */
@media screen and (max-width:1024px){}

/* iPad Air / mini */
@media screen and (max-width: 834px) {

.br-sp {
display: block;
}
	
.br-pc{
display: none;
}

.invisible{
display: none;
}

}

/* mobile */
@media screen and (max-width: 480px) {
.br-sp02{
display: block;
}

#page-top{
width: 75px;
height: 75px;
}

#page-top a::before{
width: 64px;
height: 64px;
font-size: 52px;
}
  
  
}




/* =========================
   tablet 横向き 微調整（1024px）
========================= */

@media screen and (max-width: 1024px) and (orientation: landscape) {
  .hamburger {
    width: 80px;
    height: 72px;
  }

  nav.globalMenuSp ul li a {
    padding: 1.4rem 0 1.4rem 2rem;
  }
}





/* tablet (iPad Pro / Air) */
@media screen and (max-width: 1024px) {}
/* iPad Air / mini */
@media screen and (max-width: 834px) {}
/* mobile */
@media screen and (max-width: 480px) {}











