@charset "utf-8";

/*======================================

	Custom CSS
	Copyright (c) 2025, PROACTIVE Inc. All rights reserved.

=======================================*/

/*  HOME  */

.theme{
	text-align: center;
	background-color: rgba(255, 255, 255, 0.95);
	padding: 2.15rem 0 1.5rem 0;
}

.top-lecture{
	position: absolute;
	top: 500px;
}

.main-img{
	position: relative;
}

@media screen and (min-width: 1025px) {
	.main-img{
		/*height: calc(50% + 26rem);*/
		height: 1086px;
	}
	.theme img{		
		width: 850px;
	}
	
}
@media screen and (max-width: 1024px) {
	.main-img{
		aspect-ratio: 12 / 10.25;
		height: auto;
	}
	.theme {
		padding: .25rem 1rem 0.75rem;
	}
	.chair img{
		width: 100%;
	}	
	.top-lecture{
		top: 50%;
}
}
	
@media screen and (max-width: 599px) {
	.main-img{
		aspect-ratio: 12 / 10;
		height: auto;
	}
	.top-lecture{
		top: calc(50% + 2rem);
}
}

/* --- English --- */
@media screen and (min-width: 1025px){
	.en-menu{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		column-gap:2.5rem;
	}	
	.en-menu::after{
		display: block;
		content: "";
		width: 310px;
	}
}
.en-menu li {
	margin-bottom: 1.5rem;
}

.en-menu li a{
	padding: 1rem 1.5rem;
	background-color: rgba(247, 243, 243, 1);
	display: inline-block;
	width: 310px;
	border-radius: 10px;
	color: #111;
	text-decoration: none;
	border: 1px solid #A24F4F;
}
.en-menu li a:not([href]){
	color: #ccc;
}

.en-menu li a[href]:hover{
	background-color: #fff;
	color: #A24F4F;
}

@media screen and (max-width: 375px){
	.en-menu li a{
		width: 300px;
	}
}

/* --- 大会長挨拶 --- */
.greeting-en{
	display: none;
}

.greeting-jp,.greeting-en{
	margin-bottom: 5rem;
}

.greeting dl{
	margin-top: 2rem;
}

.greeting dl dt{
	font-weight: bold;
	margin-top: 1rem;
}

.greeting dl dd{
	margin: 0;
}

@media screen and (min-width:1025px) {
	.greeting-prof {
		display: flex;
		align-items: flex-end;
		column-gap: 2rem;
	}
}

@media screen and (max-width:1024px){
	.greeting-prof{
		text-align: center;
	}
	.greeting-prof img{
		margin-bottom: 2rem;
	}
}

/* --- 大会組織 --- */
.org-chair-name dd{
	margin: 0.5rem 0 2rem;
}

.name-list li {
	margin-bottom: .25rem;
}

@media screen and (max-width:599px){
	.name-list li {
		margin-bottom: .5rem;
	}
	
	.name-list li span::after{
		content: "\A";
		white-space: pre;
	}
}

/* --- サテライト教育セミナー --- */
@media screen and (max-width:1024px){
	.satellite-btn{
		text-align: center;
	}	
	}

/* --- 日程・プログラム ---*/
.prog-detail:not(:last-child),
.prog-detail-en:not(:last-child){
	margin-bottom: 1rem;
}

.prog-detail dt{
	margin-bottom: 0;
	text-indent: -1em;
	padding-left: 1.75em;
	position: relative;
}

.prog-detail-en dt{	
	margin-bottom: 0;
	text-indent: -.5em;
	padding-left: 1.5rem;
	position: relative;
}

.prog-detail dt::before,
.prog-detail-en dt::before{
	position: absolute;
	content: "";
	background-color: #DB9EF4;
	height: .5rem;
	width: .5rem;
	top: .7rem;
	left: 0;
}

.prog-detail dd{
	margin-bottom: 0;
	padding-left: 0.75em;
}

.prog-detail-en dd{
	margin-bottom: 0;
	padding-left: 0.5em;
}

@media screen and (min-width: 1025px) {
    .program .contents {
        padding-bottom: 19em;
    }
}

/* --- 座長・演者の皆様へ ---*/
.tbl-session tr th:not(:first-child),
.tbl-session tr td:not(:first-child){
	text-align: center;
}

/** 日英切り替え **/

#language button{
	padding: .5rem 1rem;
	background-color: #F7F3F3;
	border-radius: 30px;
	color: var(--text--color);
	text-decoration: none;
	border: 1px solid #A24F4F;
	margin-right: .5rem;
	box-shadow: 1px 1px 3px #888;
}

#language button:hover{
	color: #A24F4F;
	background-color: #fff;
}

#language button.selected{
	color: #fff;
	background-color: #A24F4F;
	box-shadow: none;
}

.switching-en{
	display: none;
}

/* --- 演題募集 ---*/
.title--abstract{
	color: #7030A0;
	font-size: 1.25rem;
	margin-bottom: 1rem;
	line-height: 2;
	font-weight: bold;
}

.overlay{
	position: relative;
}

.overlay p.closed{
	position: absolute;
    top: -1%;
    left: -1%;
    width: 102%;
	height: 102%;
	display: flex;
	justify-content: center;
	align-items: center;
    color: #b30000;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 2;
    background-color: rgba(210, 210, 210, 0.8);
	padding: 1.5rem;
	text-align: center;
}


/* --- 謝辞 ---*/
.logo_large,
.logo_middle,
.logo_small{
	display: grid;
}
.logo_large{
	grid-template-columns: repeat(auto-fit, 400px);
	gap: 4.5rem 3rem;
}

.logo_middle{
	grid-template-columns: repeat(auto-fit, 261px);
	gap: 4.5rem 3rem;
}
.logo_small{
	grid-template-columns: repeat(auto-fit, 196px);
	gap: 4.5rem 2rem;
}

.logo_large a,
.logo_middle a,
.logo_small a{
	color: #111;
	text-decoration: none;
}

.logo-img{
	height: 110px;
}

.logo-img_s{
	height: 75px;
}

@media screen and (max-width: 1024px) {
	.logo_large,
	.logo_middle,
	.logo_small{
		justify-content: center;
	}
}

@media screen and (max-width: 599px){
	.logo_large{
		grid-template-columns: repeat(auto-fit, 100%);
	}
	
	.logo_large li img{
		width: 100%;
	}
}