/* ===============
　Home
==================*/
/*スライダー画像*/
#top_image {
	max-width:1260px;
	margin:0 auto 30px;
}
.top_image {
  object-fit: cover;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  flex-direction: column;
  max-width: 100%;
  height: auto;
}

/*スライダーの送りボタン（今回使用しない）*/
.swiper-button-next::after, .swiper-button-prev::after {
  font-size: 1.5rem;
  color: #000;
}

/*topics*/
article.section_topics {
  max-width: 1220px;
  background: rgba(var(--subbk-color), 1);
  box-shadow: 3px 3px 3px #aaa;
  border-radius: 2px;
  margin: 0px auto 40px;
  padding: 10px 20px;
}
.section_topics h2 {
  margin: 10px 0;
  font-size: 20px;
  line-height: 150%;  letter-spacing: 0.02em;
  color: var(--main-color);
}
.topics {
  margin-bottom: 10px;
  color: var(--main-color) !important;
}

.tolpics p {
  text-align: justify;
  margin: 0 auto 20px; 
}
.topics_list {
  padding-top: 10px;
}

/*抄録PDFボタン*/
.top_btn {
	max-width: 1200px;
	margin: 40px auto;
}
.top_btn ul{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
}
li.top_pdf_links{
	width: 45%;
}
.top_pdf_links a {
  background: var(--main-color);
  border-radius: 5px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 600px;
  padding: 12px 20px;
  color: #FFFFFF;
  transition: 0.3s ease-in-out;
  font-weight: 700;
  font-size: 18px;
  line-height: 160%;  letter-spacing: 0.02em;
}
.top_pdf_links a::after{
  content: '';
  width: 5px;
  height: 5px;
  border-top: 3px solid #FFF;
  border-right: 3px solid #FFF;
  transform: rotate(45deg);
}
.top_pdf_links a:hover::after{
  border-top: 3px solid var(--main-color);
  border-right: 3px solid var(--main-color);
}
.top_pdf_links a:hover {
  text-decoration: none;
  opacity: 0.6;
}
@media(max-width:1260px) {
article.section_topics {
  max-width: 93%;
}
.top_btn {
	max-width: 90%;
}
}

@media(max-width:900px) {
.top_btn {
	margin: 30px auto;
}
.top_btn ul{
	   margin-top: 30px;
	   flex-direction: column;
	   align-items: center;
	}
li.top_pdf_links{
	width: 100%;
}
.top_pdf_links a {
  padding: 10px 15px;
}
}

#index_top, #en_index_top{
  border-top: none;
  margin: 0 auto 50px;
}

@media(max-width:430px) {
article.section_topics {
  max-width: 80%;
	}
.top_pdf_links a {
  padding: 8px 10px;
  font-size: 1.6rem;
}
}

/*動画*/
div.vid_contents {
width: 100%;/*背景色を横幅いっぱいに広げる*/
text-align: center;
margin: 0 auto 30px;
background: #e6e6e6;/*余白の背景色*/
}

video.vid_main {
width: 100%;
}


/*ニュース*/
.section_news h2 {
  color: var(--second-color);
  font-family: "Arial", "sans-serif";
  font-weight: 700;
  text-align: left;
  font-size: 20px;
  line-height: 80%;
  background: linear-gradient(transparent 92%, var(--second-color) 8%);
}
.news_list {
  max-height: 300px;
  overflow-y: scroll;
  border-bottom: solid 1.5px var(--second-color);
}
.section_news ol li {
  margin: 15px 0;
  text-align: left;
  padding-left: 5px;
}
.section_news ol li:last-child {
  padding-bottom: 30px;
}
.news_date {
  font-size: 1em;
  font-weight: 600;
  color: #808080;
}
.news_content {
  font-size: 1em;
}
.news_content a {
  color: var(--main-color);
  font-weight: 700;
}
.news_content a:hover {
  color: var(--second-color);
}
	
/*新しいニュースにnewがつく動き*/
.section_news ol li:first-child p::after /*,
  .section_news ol li:nth-child(3) p::after,
  .section_news ol li:nth-child(4) p::after*/ {
  content: "new";
  color: var(--accent-color);
  font-weight: 700;
  margin-left: 20px;
  animation: flash 1s linear infinite;
}
@keyframes flash {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media(min-width:700px) {
.news_list {
  display: flex;
  flex-direction: column;
}
.section_news ol li {
  display: flex;
	}
.news_date {
  width: 15%;
}
}

/* ================================ 
　ご挨拶
 ================================ */
.greeting_warp {
  display: flex;
  column-gap: 40px;
}

.section_greeting ul li{
  font-size: 21px;
  line-height: 120%;
  font-weight: 700;
  text-align: center;
  color: #4d4d4d;
  margin-bottom: 20px;
}
  .section_greeting img {
	width: 260px;
    margin-bottom: 10px;
  }
.section_greeting ul li p.chief_affiliation{
  font-size: 14px;
  font-weight: 400;
}
.sentence {
  display: flex;
  flex-direction: column;
}
.sentence p {
  text-align: justify;
  margin-bottom: 15px;
}

@media (max-width:900px) {
  .greeting_warp {
    max-width:100%;
    flex-direction: column;
    justify-content: center;
  }
  .section_greeting ul {
    margin: 0 auto 15px;
  }
  .section_greeting img {
    object-position: top;
  }
}

@media (max-width: 430px) {
.sentence p {
  hyphens: auto;
}	
}

/* ================================ 
　参加のご案内
 ================================ */
/* ご案内の目次 */
.info_index_wrap {
    position: sticky;
    left: 0px;
    top: 123px;
    z-index: 2;
    cursor: pointer;
  }
a.anker_space{
   display: block;
   margin-top:-140px;
   padding-top:140px;
}
	
/*-----------------------------------【英語と日本語で、PC版のナビゲーションメニューの高さ変わる場合のみ設定】
.section_info_en .info_index_wrap {
    left: 0px;
    top: 104px;
  }
.section_info_en a.anker_space{
   margin-top:-120px;
   padding-top:120px;
}
-------------------------------------*/
.info_index_btn {
	font-size: 16px;
	color: #fff;
	font-weight: 700;
	background: var(--main-color);
	padding: 7px 7px 5px 7px;
	border: var(--main-color) solid 1px;
	border-radius: 5px;
}
.info_index_btn::after {
  font-family: 'Font Awesome 6 Free';
  content: "\f107";
  margin-left:10px;
  transform: translateY(-50%);
}

/*ボタンにカーソルを当てたとき、ボタンを半透明にする */
.info_index_btn:hover {
	border: var(--main-color) solid 1px;
	opacity: 0.7;
}
.info_index_hidden{
  background: rgba(var(--subbk-color), 0.9);
  padding: 10px;
  display: none;
  width:50%;
}
ol.info_index {
	list-style-type: decimal-leading-zero;
	margin-left: 30px; 
}
ol.info_index li {
	color: var(--main-color);
	font-weight: 600;
	margin-bottom: 5px;
}
ol.info_index li a {
	  color: var(--main-color);
}

@media(max-width:900px) {
.info_index_wrap, .section_info_en .info_index_wrap {
		top: 90px;
	}
a.anker_space, .section_info_en a.anker_space{
   display: block;
   margin-top:-110px;
   padding-top:110px;
}
}
@media(max-width:900px) {
.info_index_hidden{
  width:80%;
}
}
@media(max-width:430px) {
ol.info_index li {
	font-size: 14px;
}
}

.topics_line{
  padding: 0 1rem 0 2rem;
  border: solid 1.8px var(--main-color);
  margin: 20px 0;
}
.topics_line h4{
	margin-top: 2rem;
}

p.s_schedule {
	padding-left: 4em;
	text-indent: -4em;
	text-align: left;
    word-wrap: break-word; /* 長い単語を自動改行 */
}
.time_info .time_info_list dt{
	color: var(--main-color);
	font-weight: 700;
	padding: 5px 5px 5px 0;
}

@media(min-width:430px) {
.time_info .time_info_list {
  display: flex;
}
.time_info .time_info_list dt{
	width: 35%;
}
.time_info .time_info_list dd{
	width: 65%;
	padding-top: 10px;
}
}

/* ================================ 
　参加発表登録
 ================================ */

/* ================================ 
　FAQ
 ================================ */
.faq summary {
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  color: var(--main-color);
  border-bottom: solid 1.8px var(--main-color);
  padding: 10px 0 10px 40px;
  text-indent: -40px;
}

.faq[open] summary {
  font-weight: 600;
  color: #fff;
  background:var(--main-color); 
  border: solid 1.8px var(--main-color);
  border-radius: 4px 4px 0 0;
  margin-top: 20px;
  padding: 10px 10px 10px 50px;
  text-indent: -40px;
}

.answer_wrap{
  padding: 15px;
  border: solid 1.8px var(--main-color);
  border-radius: 0 0 4px 4px;	
  margin-bottom: 20px;
}
.answer_wrap h4{
	margin-top: 30px;
}
p.answer{
	font-size:17px;
	line-height: 165%;
	font-weight: 600;
	padding-left: 24px;
	text-indent: -24px;
	margin-bottom: 15px;
}
p.answer::before {
  content: "A.";
  color: var(--main-color);
  padding-right: 6px;
}
.answer_wrap img{
	max-width:100%;
	height:auto;
}

a.anker_space_faq {
   display: block;
   margin-top:-190px;
   padding-top:190px;
}
@media(max-width:900px) {
a.anker_space_faq {
   display: block;
   margin-top:-148px;
   padding-top:148px;
}
}

/* ================================ 
　日程表・プログラム
 ================================ */

/* ================================ 
　開催概要
 ================================ */
.sub_info .info_list dt{
	color: var(--main-color);
	font-weight: 600;
	padding-top: 10px;
}

@media(min-width:500px) {
.sub_info .info_list {
  display: flex;
}

.sub_info .info_list dt{
	width: 25%;
	padding: 10px 5px 10px 0;
}
.sub_info .info_list dd{
	width: 75%;
	padding-top: 10px;
}
}

@media(max-width:499px) {
  .section_outline_en .sub_info .info_list dt{
	width: 100%;
  }
  .section_outline_en .sub_info .info_list dd{
	width: 100%;
  }
}

/* ================================
　会場案内
 ================================ */
.venue {
  font-size: 18px;
  line-height: 150%;
  font-weight: 700;
  }
.access_top_img {
  width: 100%;
  max-width: 1260px;
  height: auto;
}

.section_access address, .section_access_en address {
  margin: 20px auto 10px;
}
.section_access iframe, .section_access_en iframe {
    width: 100%;
	height: 430px;
	margin-bottom: 30px;
  }
@media(max-width:900px) {
  .section_access, .section_access_en {
    margin: 0;
  }
  .margin_15px {
    margin: 0 15px;
  }
  .access_top_img {
    max-width: 100%;
    height: auto;
	margin: 10px 0;
  }
}

/*2カラム掲載の画像*/
.venue_2col {
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-content: center;
  column-gap: 30px;
 margin-bottom: 40px;
}
.venue_2col_items p {
  font-size: 17px;
  line-height: 155%;
  font-weight: 600;
  text-align: left;
  padding-top: 10px;
}
.venue_2col img {
  width: auto;
  max-height: 420px;
  object-fit: contain;
}

@media(max-width:650px) {
.venue_2col_items p {
  text-align: center;
}
.venue_2col img {
  max-width: 100%;
 margin-bottom: 30px;
}
}

/* ================================ 
　広告募集（ご協力のお願い）
 ================================ */
.section_advertisement ul li{
  text-align: right;
  font-size: 21px;
  line-height: 120%;
  font-weight: 700;
  color: #4d4d4d;
  margin-bottom: 30px;
}
.section_advertisement ul li p.chief_affiliation{
  font-size: 0.7em;
  font-weight: 400;
}

/* ================================ 
 協賛企業一覧
 ================================ */
ul.sponsor-co_list {
  display: flex;
  flex-flow: wrap;
  justify-content: flex-start;
  margin-bottom: 30px;
}
ul.sponsor-co_list li{
  width:50%;
  margin-bottom: 15px;
  font-weight: 400;
}
.sponsor-co_list a {
  color: var(--main-color);
}
.sponsor-co_list a:hover {
  color: var(--second-color);
}
.sponsor-co_list a::before {
  font-family: 'Font Awesome 6 Free';
  content: "\f35d";
  margin-right: 8px; /* シンボルとテキストの間にスペースを追加 */
  font-size: 1.5rem;
  font-weight: 700;
}
@media(max-width:920px) {
ul.sponsor-co_list li{
	width:100%;
	padding-left: 1.5em;
	text-indent: -1.5em;
	}
}
/* ================================ 
お問い合せ
 ================================ */
/*お問合せ先　＋　戻るボタン*/
.contact_btn {
	margin: 20px 0 40px;
}
.back_btn{
	text-align: center;
	margin:20px 0 50px;
}
.contact_btn a,
.back_btn input {
	font-size: 16px;
	color: #fff;
	font-weight: 600;
	background: var(--main-color);
	padding: 4px 10px 5px;
	border: solid 1px var(--main-color);
	border-radius: 4px;
}

.contact_btn a:hover,
.back_btn input:hover {
	opacity: 0.7;
}
.mail a {
  color: var(--main-color);
}

/*-------------------------------【スパム対策（JSPPでは使用しない。順次変更）】*/
p.mail span::before {
  content: "@";
}
p.mail span {
 font-size:1em;
 color: var(--main-color);
display: inline-block; /* 必要に応じて表示形式を指定 */
}