@charset "utf-8";
/* CSS Document */

/* 基本設定
----------------------------------------------------------- */
/* ★　例）トップページのgnaviのみPC時はメニュー表示する場合　★ */
/*.hamburger-button {
	display: none;
}*/



/* ヘッダースタイル
----------------------------------------------------------- */
/* ★　例）トップページのgnaviのみPC時はメニュー表示する場合　★ */
/*header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}*/

/* h1#header_logo */
/*header div#header_inner h1#header_logo {
	margin-top: 10px;
	padding-left: 50px;
	line-height: 0.7;
	font-size: 300%;
}*/



/* ビジュアルスタイル
----------------------------------------------------------- */
#visual {
}
#visual #visual_inner {
	position: relative;
	width: 1200px;
	height: 330px;
	padding: 30px;
	margin: 0 auto;
	border: 1px solid #C9CACA;
	outline: 1px solid rgba(255,255,255,1.00);
	outline-offset: -2px;
	background: url("../images/bg_visual.jpg") 1px 1px no-repeat rgba(255,255,255,1.00);
}
#visual #visual_inner::before {
	content: '';
	display: inline-block;
	position: absolute;
	right: calc(50% - 335px);
	bottom: 10px;
	width: 160px;
	height: 137px;
	background: url("../images/visual_mascot.png") 0 0 no-repeat;
	z-index: 0;
}
#visual #visual_inner .visual_lead {
	position: relative;
	margin-left: 100px;
	margin-bottom: 20px;
	color: #FFFFFF;
	font-size: 4.8rem;
	font-weight: bold;
	text-shadow: 1px 2px 5px rgba(0,0,0,0.75);
	pointer-events: none;
	z-index: 1;
}
#visual #visual_inner dl {
	position: relative;
	display: flex;
	justify-content: center;
	margin-left: 80px;
	z-index: 1;
}
#visual #visual_inner dl:nth-of-type(1),
#visual #visual_inner dl:nth-of-type(2){
	margin-bottom: 6px;
}
#visual #visual_inner dl dt {
	margin-right: 15px;
}


/* 抄録ダウンロード（PC幅の時はビジュアル表面に配置）
----------------------------------------------------------- */
#abstracts {
	display: block;
	position: relative;
}
#abstracts #abstracts_inner {
	display: inline-block;
	position: absolute;
	top: -120px;
	left: calc(50% - 560px);
	padding: 5px;
	border: 1px solid #FFFFFF;
	border-radius: 20px 20px 10px 10px;
	background: rgba(255,242,226,0.90);
}



/* テロップ（横スクロールメッセージテキスト）
----------------------------------------------------------- */
#telop {
	width: 1200px;
	margin: 20px auto 0;
	color: #8B0E0E;
	text-align: left;
	overflow: hidden;
}
#telop p {
	display: inline-block;
	padding-left: 100%;
	white-space: nowrap;
	animation: telop_text_scroll 40.0s linear infinite; /* 文字量が多くなるほど時間を遅くしないと早く流れてしまう */
}
@keyframes telop_text_scroll {
	0% {
		transform: translateX(0)
	}
	100% {
		transform: translateX(-100%)
	}
}



/* 見出しスタイル
----------------------------------------------------------- */
h2:not(#gnavi_title):not(.side_title):not(#home_inquiry_title) {
	margin: 0;
	border-left: none;
	border-right: none;
}



/* ページスタイル
----------------------------------------------------------- */
/* 開催御礼（学会サイトのみ使用） */
main div.thanks_box {
    margin: 0 0 30px;
    padding: 30px 15px 15px;
    border: 5px solid #FFC06B;
    border-top: none;
    border-radius: 0 0 10px 10px;
	background: #FFFFFF;
}

/* 募集期間 */
main div#application_period {
	margin: 0 0 15px 0;
}
main div#application_relay {
	margin: 0 0 30px 0;
}

/* 一覧共通スタイル */
main div.info_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px 2.3%;
}
main div.info_list div.info_list_box {
	width: 48.83%;
	margin: 0 0 30px 0;
	padding-bottom: 40px;
	text-align: left;
	border: 1px solid #C9CACA;
	border-top: none;
	background: #FFFFFF;
}
main div.info_list div.info_list_box ul {
	margin: 0 20px 10px;
}
main div.info_list div.info_list_box ul li dl.info_list_contents dd {
	clear: both;
	padding-left: 25px;
}
main div.info_list div.info_list_box ul li dl.info_list_contents dd::before {
	left: 0;
}
main div.info_list div.info_list_box ul li dl.info_list_contents dd::after {
	left: 4px;
}
main div.info_list div.info_list_box .button_style.info_list_btn {
	position: absolute;
	top: 5px;
	right: 5px;
}
main div.info_list div.info_list_box .button_style.info_list_btn span {
	padding: 6px 20px;
	font-size: 1.4rem;
}

/* 更新情報 */
main div#home_news h2:not(#gnavi_title):not(.side_title):not(#home_inquiry_title) {
	padding-right: 3.5em;
	padding-left: 45px;
}
main div#home_news h2:not(#gnavi_title):not(.side_title):not(#home_inquiry_title)::before {
	top: 14px;
	left: 10px;
	width: 29px;
	height: 29px;
	background: url("../images/bg_h2_home_news.png") 0 0 no-repeat;
}

/* リレーメッセージ */
main div#home_relay h2:not(#gnavi_title):not(.side_title):not(#home_inquiry_title) {
	padding-right: 3.5em;
	padding-left: 45px;
}
main div#home_relay h2:not(#gnavi_title):not(.side_title):not(#home_inquiry_title)::before {
	top: 7px;
	left: 2px;
	width: 47px;
	height: 40px;
	background: url("../images/bg_h2_home_relay.png") 0 0 no-repeat;
}

/* お問い合わせ先 */
main div.home_inquiry_box {
	margin: 0 0 30px;
	border: 1px solid rgba(116,178,48,1.00);
	background: rgba(212,245,175,1.00);
}
main div.home_inquiry_box h2 {
	position: relative;
	margin: 20px 20px 30px 20px!important;
	padding: 5px 0 0 35px;
	color: #6C2A2A;
	font-size: 2.5rem;
	text-shadow: -1px 1px 3px rgba(255,255,255,1.00),-1px 1px 3px rgba(255,255,255,1.00),-1px 1px 3px rgba(255,255,255,1.00);
}
main div.home_inquiry_box h2::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: -20px;
	left: 15px;
	width: 5px;
	height: calc(100% + 20px);
	background: rgb(181,181,181);
	background: linear-gradient(0deg, rgba(181,181,181,1) 0%, rgba(181,181,181,1) 50%, rgba(116,178,48,1) 50%, rgba(116,178,48,1) 100%);
}
main div.home_inquiry_box .home_inquiry_box_inner {
	display: flex;
	align-items: center;
	margin: 0 20px 20px 20px;
	padding: 25px;
	background: rgba(255,255,255,1.00);
}
main div.home_inquiry_box .home_inquiry_box_inner dl {
	width: 50%;
}
main div.home_inquiry_box .home_inquiry_box_inner dl dt {
	margin-bottom: 10px;
}
main div.home_inquiry_box .home_inquiry_box_inner dl dd {
	line-height: 1.8;
}
main div.home_inquiry_box .home_inquiry_box_inner .home_inquiry_mail {
	width: 50%;
	padding: 10px;
	background: #F1F1F1;
}
main div.home_inquiry_box .home_inquiry_box_inner .home_inquiry_mail a {
	display: block;
	padding: 5px;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	border: 1px solid #DBDBDB;
	background: rgba(255,255,255,1.00);
}
main div.home_inquiry_box .home_inquiry_box_inner .home_inquiry_mail a span.home_inquiry_mail_lead {
	display: block;
	color: #313131;
	background: #FFF7DE;
}
main div.home_inquiry_box .home_inquiry_box_inner .home_inquiry_mail a span.home_inquiry_mail_address {
	display: inline-block;
	margin: 8px;
	padding: 0 0 0 45px;
	word-break: break-all;
	background: url("../images/bg_home_inquiry_mail_address.png") 0 center no-repeat;
}

/* リンク（外部サイト） */
main h2#title_link {
	margin-bottom: 20px;
}
main h2#title_link span {
	font-size: 1.6rem;
}

/* bannerlist（可変グリッドのレイアウトはmasonry.jsを併用） */
main div ul.bannerlist {
	margin: 0 auto;
	overflow: hidden;
}
main div ul.bannerlist li {
	float: left; /*項目数が3つ以上達しない場合、masonry-boxでなくfloatで*/
	margin: 0 26px 20px 26px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
main div ul.bannerlist li a {
	/*display: block;*/
	display: inline-block;
	width: 234px;
	height: 60px;
	text-align: center;
	background: #555555;
}

/* style_test_box */
main div.style_test_box {
	padding: 10%;
	background: rgba(255,170,113,0.30);
	box-shadow: 0 0 10px 10px rgba(255,117,45,0.30) inset; /* 内側にドロップシャドウ */
}



@media screen and (max-width: 1199px) {	/* PC固定幅からのブレイクポイント */
	
	/* 基本設定
	----------------------------------------------------------- */
	/* ★　例）トップページのgnaviのみPC時はメニュー表示する場合　★ */
	/*.hamburger-button {
		display: block;
	}*/
	
	/* 抄録ダウンロード（PC幅の時はビジュアル表面に配置）
	----------------------------------------------------------- */
	#abstracts {
		margin: 20px;
	}
	#abstracts #abstracts_inner {
		position: static;
	}
	
	/* テロップ（横スクロールメッセージテキスト）
	----------------------------------------------------------- */
	#telop {
		width: 100%;
		margin: 20px 0 0 0;
		color: #8B0E0E;
	}
	
	/* ビジュアルスタイル
	----------------------------------------------------------- */
	#visual {
		width: 100%;
	}
	#visual #visual_inner {
		left: auto;
		width: 100%;
		margin: 0;
	}
	#visual #visual_inner .visual_lead {
		margin-left: 10%;
		/*font-size: 3.2rem;*/
	}
	#visual #visual_inner dl {
		margin-left: 9%;
	}
	
	/* ページスタイル
	----------------------------------------------------------- */
	/* bannerlist（可変グリッドのレイアウトはmasonry.jsを併用） */
	main div ul.bannerlist {
		/*max-width: 890px;*/
	}
	
	main #slide_banner div.main_inner {
		margin: 0 0 30px 0;
	}
	
}

@media screen and (max-width: 959px) {	/* タブレットからのブレイクポイント */
	
	/* ビジュアルスタイル
	----------------------------------------------------------- */
	#visual #visual_inner::before {
		right: 12%;
	}
	#visual #visual_inner .visual_lead {
		margin-left: 0;
		/*font-size: 3.2rem;*/
	}
	#visual #visual_inner dl {
		margin-left: 0;
	}
	
	/* ページスタイル
	----------------------------------------------------------- */
	/* お問い合わせ先 */
	main div.home_inquiry_box .home_inquiry_box_inner {
		/*display: block;*/
		flex-direction: column;
		align-items: center;
	}
	main div.home_inquiry_box .home_inquiry_box_inner dl {
		width: 100%;
		margin-bottom: 20px;
	}
	main div.home_inquiry_box .home_inquiry_box_inner .home_inquiry_mail {
		width: 100%;
	}
	
}

@media screen and (max-width: 620px) {	/* 620pxからのブレイクポイント */
	
	/* ビジュアルスタイル
	----------------------------------------------------------- */
	#visual #visual_inner::before {
		right: 5%;
	}
	#visual #visual_inner .visual_lead {
		/*font-size: 2.8rem;*/
	}
	
	/* ページスタイル
	----------------------------------------------------------- */
	/* 更新情報 */
	main div.info_list {
		flex-direction: column;
		align-items: center;
	}
	main div.info_list div.info_list_box {
		width: 100%;
	}
	
	/* bannerlist（可変グリッドのレイアウトはmasonry.jsを併用） */
	main div ul.bannerlist li {
		text-align: center;
		float: none;
	}
	
}

@media screen and (max-width: 479px) {	/* スマートフォンからのブレイクポイント */
	
	/* ビジュアルスタイル
	----------------------------------------------------------- */
	#visual #visual_inner {
		padding: 4%;
	}
	#visual #visual_inner::before {
		width: 125px;
		right: 2%;
		background-size: 100%;
	}
	#visual #visual_inner .visual_lead {
		margin-top: 2%;
	}
	
}