@charset "UTF-8";

/*==========================================
PC［1080px~］
TOPページのスタイル
===========================================*/
main {
	overflow: hidden;
	/*win50% -50vw対策*/
}

.Wrap {
	padding: 100px 0;
}

/*------------
 mainArea
------------*/

.copyAreaWrap {
	position: relative;
	margin: 0 auto;
	width: min(100%, 1200px);
}

.mainImg {
	margin: 0 auto;
	width: min(100%, 1200px);
	display: block;
	object-fit: contain;
	height: auto;
}

#mainArea .inner {
	margin-bottom: 100px;
	position: relative;
}

.copyArea {
	position: absolute;
	top: 15%;
	right: 0;
	left: 0;
	margin: auto;
	width: fit-content;
}

.copyArea h1 img {
	margin-bottom: 30px;
	width: clamp(450px, 20vw, 550px);
	height: auto;
	display: block;
}


/*------------
 mvArea
------------*/
#mvArea .Wrap {
	background-color: var(--bg-color);
}

#mvArea video {
	border-radius: 20px;
}

/*------------
 greetingArea
------------*/

/*レイアウト*/
.greetingBox h2 {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}

.greetingBox .greetingText {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}

.greetingImage {
	position: relative;
	grid-column: 2 / 3;
	grid-row: 1 / 3;
}

/*ENDレイアウト*/


.greetingImage {
	margin-left: auto;
	width: min(100%, 450px);
	align-self: flex-start;
}

.greetingImage img {
	width: min(100%, 450px);
	height: auto;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 20px;
	display: block;
}

.nameBox {
	width: min(100%, 250px);
	background-color: #fff;
	padding: 40px 20px 0 0;
	border-radius: 0 20px 0 0;
}

.nameBox .name {
	font-size: clamp(1.8rem, 1.7339rem + 0.2936vw, 2rem);
	line-height: 1.2;
	font-weight: bold;
}

.nameBox .name span {
	font-size: 1.2rem;
}


/*------------
 purposeArea
------------*/
#purposeArea .Wrap {
	padding: 0 0 100px;
}


.purposeBox:first-child h2 {
	margin-bottom: 2.75em;
}

/*------------
 zentaiArea
------------*/
#zentaiArea .Wrap {
	border-bottom: solid 40px var(--main-color);
}

/*レイアウト 全大会・分科会共通*/
.taikaiBox {
	gap: 40px 150px;
}


#zentaiArea .taikaiBox h3 {
	grid-column: 1 / 2;
}

.taikaiBox .zentaiText {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}

.taikaiBox .zentaiImage {
	grid-column: 2 / 3;
	grid-row: 1 / 3;
	align-self: self-start;
}

.taikaiBox hr {
	grid-column: 1 / 3;
	grid-row: 3 / 4;

}

.taikaiBox .textBox {
	grid-column: 1 / 3;
	grid-row: 4 / 5;
}

/*ENDレイアウト*/
.taikaiBox h3 {
	/*writing-mode: vertical-rl;
	text-orientation: mixed;*/
	line-height: 1.25;
}

#zentaiArea h3 {
	margin-bottom: 1em;
	grid-column: 1 / 3;
	grid-row: 1 / 2;

}

#zentaiArea h3 .text-small {
	color: var(--main-color);
	font-size: clamp(1.4rem, 1.3339rem + 0.2936vw, 1.6rem);
	line-height: 1.5;
	display: inline-block;
}

#zentaiArea .taikaiBox h3 img {
	margin-bottom: .15em;
	width: 300px;
	height: auto;
	display: block;
}

.taikaiBox .profileBox {
	align-self: start;
}


.taikaiBox .nameBox {
	margin: auto 0 0 auto;
	padding: 0;
	text-align: right;
	width: fit-content;
}

.taikaiBox .carrier,
.taikaiBox .carrier ul li {
	margin-bottom: 0;
	padding-left: 1em;
	margin-right: 1em;
	font-size: clamp(1.3rem, 1.267rem + 0.1468vw, 1.4rem);
	line-height: 1.7;
	align-self: end;
}

.taikaiBox .carrier ul {
	margin: 0 0 1em;
}

.taikaiBox hr {
	margin: 1em 0 0;
}

.taikaiBox .zentaiImage img {
	margin: auto 0 0;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 30px;
}

/*記念講演*/
#zentaiArea h3.tokubetsuttl .text-small {
	color: var(--sub-color);
}

.tokubetsuBox {
	margin-inline: auto;
	grid-template-columns: repeat(3, 1fr);
	align-self: baseline;
	gap: 20px 40px;
	width: min(100%, 1200px);
	display: grid;
}

.tokubetsuBoxImage {
	margin-inline: auto;
	margin-bottom: 1em;
	width: min(100%, 250px);
	border-radius: 0 20px 0 0;
}

.tokubetsuBoxImage img {
	border-radius: 20px;
}

.tokubetsuBox .nameBox {
	margin-inline: auto;
	width: min(100%, 250px);
	padding: 0;
}

.tokubetsuBox .nameBox .name {
	line-height: 1;
}

.tokubetsuBoxWrap hr {
	margin: 3em 0;
}



/*------------
bunkakaiArea
------------*/
#bunkakaiArea .Wrap {
	background-color: var(--bg-color);
}

.detailsWrap {
	background-color: #fff;
	border-radius: 20px;
	overflow: hidden;
}

/*--アコーディオン--*/
.details {
	margin: 0;
	border-bottom: solid 1px var(--line-color);
	display: grid;
}

.details:last-of-type {
	border-bottom: none;
}

summary {
	display: block;
	list-style: none;
}

/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {
	display: none;
}

.details>summary:focus-visible {
	outline: solid 2px var(--main-color);
	outline-offset: 2px;
}

/*レイアウト*/
.details-summary {
	grid-template-columns: 100px 150px 1fr 86px;
}

.details .num {
	grid-column: 1 / 2;
}

.details .category {
	grid-column: 2 / 3;
}

.details-summary p {
	grid-column: 3/ 4;
}

.details-summary .arrow {
	grid-column: 4 / 5;
}

/*ENDレイアウト*/

.details-summary {
	padding: 0 0 0 2em;
	height: 86px;
	font-weight: bold;
	transition-duration: .3s;
	position: relative;
	display: grid;
	align-content: center;
}

.details-summary:hover {
	cursor: pointer;
	opacity: 0.8;
}

.details-summary::-webkit-details-marker {
	display: none;
}

.details-summary .arrow {
	width: 86px;
	height: 86px;
	margin-left: auto;
	background-color: var(--main-color);
	position: absolute;
	top: 0;
	right: 0;
}

.details-summary .arrow::before,
.details-summary .arrow::after {
	content: '';
	width: 30px;
	height: 30px;
	display: inline-block;
	border-right: 2px solid #fff;
	position: absolute;
	transition-duration: .3s;
}

.details-summary .arrow::before {
	top: 50%;
	right: calc(50% - 15px);
	transform: rotate(-90deg);
}

.details-summary .arrow::after {
	top: calc(50% - 15px);
	right: 50%;
}

.details-summary.is-active .arrow::after {
	transform: rotate(-90deg);
	transform-origin: 50% 50%;
	top: 50%;
	right: calc(50% - 15px);
}

.details .num {
	font-family: lato;
	font-size: clamp(2rem, 1.833rem + 0.83vw, 2.5rem);
	line-height: 1.2;
}

.details .num span {
	font-size: clamp(4rem, 3.3394rem + 2.9358vw, 6rem);
}

.details .category {
	width: 100px;
	background-color: var(--main-color);
	padding: 5px 10px;
	border-radius: 10px;
	color: #fff;
	font-size: clamp(1.4rem, 1.3339rem + 0.2936vw, 1.6rem);
	line-height: 1.5;
	font-weight: bold;
	align-self: center;
	justify-self: end;
	text-align: center;
}

.details-summary p {
	max-height: 6rem;
	margin: 0 1em 0 1em;
	text-align: left;
	font-size: clamp(1.4rem, 1.0367rem + 1.6147vw, 2.5rem);
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	box-orient: vertical;
	align-self: center;
}

.details-content {
	padding: 25px 20px 0;
}

.detailsinner {
	padding: 2em;
}

/*--ENDアコーディオン--*/
.detailsinner .taikaiBox {
	gap: 40px 60px;
}

.detailsinner .taikaiBox h3 {
	margin-inline: auto;
	line-height: 1.5;
	width: min(100%, 800px);
}

.detailsinner .taikaiBox h3 .text-small {
	color: var(--main-color);
	font-size: clamp(1.4rem, 1.3339rem + 0.2936vw, 1.6rem);
	line-height: 1.5;
	display: inline-block;
}

.detailsinner .taikaiBox .profileBox .wrap,
.detailsinner .taikaiBox .profileBox:not(:has(.wrap)) {
	margin-inline: auto;
	grid-template-columns: 1fr 250px;
	align-self: baseline;
	gap: 20px 40px;
	width: min(100%, 800px);
	display: grid;
}

.detailsinner .taikaiBox .profileBox:has(.wrap) {
	width: 100%;
	display: block;
}

.detailsinner .taikaiBox .profileBox:has(.wrap) .textBox {
	width: min(800px, 100%);
	margin-inline: auto;

}

.detailsinner .taikaiBox .nameBox {
	background-color: inherit;
	padding-top: 0;
}

.detailsinner .taikaiBox hr {
	margin: 1em 0;
}

/*------------
scheduleArea
------------*/
#scheduleArea .Wrap {
	background-color: var(--bg-color);
}

.scheduleBox {
	margin: 0;
	margin-inline: auto;
	padding: 40px;
	width: min(100%, 450px);
}

.scheduleBox h3 {
	margin-bottom: 40px;
}

.scheduleBox h3 img {
	margin: 0 auto;
	display: block;
	width: min(100%, 285px);
}

/*scheduleDl*/
dl.scheduleDl dt {
	margin: 0;
	padding: 0 45px 0 0;
	width: 100px;
	border: none;
	font-family: lato;
	font-size: clamp(2rem, 1.833rem + 0.83vw, 2.5rem);
	line-height: 1.2;
	position: relative;
}

dl.scheduleDl dt::before,
dl.scheduleDl dt::after {
	content: "";
	position: absolute;
}

dl.scheduleDl dt::after {
	width: 1px;
	height: 100%;
	background-color: var(--main-color);
	right: 0;
	top: 6px;
}

dl.scheduleDl dt:last-of-type::after {
	content: none;
}

dl.scheduleDl dt::before {
	top: 6px;
	right: -10px;
	left: inherit;
	width: 20px;
	height: 20px;
	background-color: var(--main-color);
	border-radius: 50%;
}

dl.scheduleDl dd {
	width: calc(100% - 100px);
	padding: 0 0 0 40px;
	border: none;
	font-size: clamp(1.8rem, 1.7217rem + 0.3478vw, 2rem);
	line-height: 1.5;
	font-weight: bold;
}

dl.scheduleDl dd:last-of-type {
	margin-bottom: 0;
}


/*------------
accessArea
------------*/
#accessArea .inner {
	padding: 100px 0;
}

.accessBox h3 {
	margin-bottom: 20px;
}

.accessBox h3 .number {
	margin-bottom: 10px;
	display: block;
	color: var(--main-color);
	font-size: clamp(2rem, 1.833rem + 0.83vw, 2.5rem);
}

.accessBox {
	padding: 40px 0;
	position: relative;
	border-bottom: solid 1px var(--line-color);
	gap: 20px;
}

.accessBox::before {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 30px;
	height: 1px;
	background-color: var(--main-color);
}

.accessBox .gmap iframe {
	width: 100%;
	height: 100%;
	aspect-ratio: 2/1;
	border-radius: 20px;
}

/*------------
itioshiArea
------------*/
#itioshiArea {
	background-color: #FDD601;
}

#itioshiArea a {
	width: min(100%, 1200px);
	margin: auto;
	transform: translateX(+80px);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

#itioshiArea a img {
	width: 100%;
	height: auto;
}

/*==========================================
 tb［540px-1080px以下］
===========================================*/
@media screen and (max-width: 1080px) {

	/*------------
	scheduleArea
	------------*/
	.scheduleBox {
		width: min(100%, 600px);
	}

	/*------------
	purposeArea
	------------*/
	.purposeBox:first-child h2 {
		margin-bottom: 1.5em;
	}

	/*------------
	greetingArea
	------------*/
	/*レイアウト*/
	.greetingBox h2 {
		grid-column: 1 / 3;
		grid-row: 1 / 2;
	}

	.greetingBox .greetingText {
		grid-column: 1 / 3;
		grid-row: 3 / 4;
	}

	.greetingImage {
		grid-column: 1 / 3;
		grid-row: 1 / 3;
	}

	/*ENDレイアウト*/
	.greetingBox {
		position: relative;
		gap: 50px 25px;
	}

	.greetingBox h2 {
		/* 縁取り効果 */
		text-shadow:
			-2px -2px 0 #fff,
			2px -2px 0 #fff,
			-2px 2px 0 #fff,
			2px 2px 0 #fff,
			-2px 0px 0 #fff,
			2px 0px 0 #fff,
			0px 2px 0 #fff,
			0px -2px 0 #fff;
		position: absolute;
		top: 0;
		z-index: 1;
	}

	/*------------
	zentaiArea
	------------*/
	/*全大会、分科会共通*/
	.taikaiBox h3 {
		grid-column: 1 / 3;
		grid-row: 1 / 2;
	}

	.taikaiBox .profileBox {
		grid-column: 1 / 3;
		grid-row: 2 / 3;
	}

	.taikaiBox h3 {
		writing-mode: horizontal-tb;
	}

	.taikaiBox .zentaiImage {
		align-self: center;
	}

	/*ENDレイアウト*/

	#zentaiArea .zentaiImage {
		width: min(100%, 450px);
		margin-inline: auto;
		grid-column: 1 / 3;
		grid-row: 1 / 2;
	}

	#zentaiArea .taikaiBox .zentaiText {
		width: min(100%, 450px);
		margin-inline: auto;
		grid-column: 1 / 3;
		grid-row: 2 / 3;
	}


	/*------------
	bunkakaiArea
	------------*/
	/*レイアウト*/
	.details-summary {
		padding: 0 0 0 1.5em;
		grid-template-columns: 80px 1fr 86px;
		gap: .5em 0;
		align-content: flex-start;
	}

	.details .num {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
		width: 100px;
	}

	.details .category {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
		width: 100px;
	}

	.details-summary p {
		grid-column: 1 / 3;
		grid-row: 2 / 3;
		width: auto;

	}

	.details-summary .arrow {
		grid-column: 3 / 4;
		grid-row: 1 / 3;
	}

	/*ENDレイアウト*/
	.details .num {
		font-size: 1.5rem;
		align-self: end;
	}

	.details .num span {
		font-size: 3.5rem;
	}

	.details .category {
		justify-self: flex-start;
		align-self: flex-end;
		font-size: 1.3rem;
	}

	.details-summary p {
		margin: 0 1em 0 0;
		font-size: clamp(1.4rem, 1.2018rem + 0.8807vw, 2rem);
		-webkit-line-clamp: 1;
		line-clamp: 1;
	}

	/*------------
	itioshiArea
	------------*/
	#itioshiArea a {
		transform: translateX(+20px);
	}

	/*記念講演*/
	.tokubetsuBox {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 30px;
		width: 100%;
	}
}

/*==========================================
 sp［580px以下］
===========================================*/
@media screen and (max-width: 580px) {

	/*------------
	mainArea
	------------*/
	.copyArea {
		padding: 0;
		width: 100%;
	}

	.copyArea h1 img {
		margin-inline: auto;
		width: 80%;
	}

	/*------------
	greetingArea
	------------*/
	.greetingBox h2 {
		margin-bottom: 0;
		position: relative;
	}

	.greetingImage {
		grid-row: 2 / 3;
	}

	.greetingImage img {
		margin: 0 auto;
		width: 80%;
	}

	.nameBox {
		margin: 0 auto;
		width: fit-content;
		padding: 20px 20px 0 0;
		bottom: -40px;
	}

	/*------------
	zentaiArea
	------------*/
	/*全大会、分科会共通*/
	.taikaiBox .profileBox {
		gap: 20px 0;
	}

	.detailsinner .taikaiBox h3 {
		grid-column: 1 / 2;
	}

	.detailsinner .taikaiBox .profileBox:not(:has(.wrap)) {
		grid-template-columns: 1fr;
	}

	.detailsinner .taikaiBox {
		grid-template-columns: 1fr;
		gap: 1.5em 0;
	}

	.taikaiBox .zentaiImage {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	.taikaiBox .nameBox {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	.taikaiBox .carrier {
		grid-column: 1 / 2;
		grid-row: 3 / 4;
	}

	.taikaiBox hr {
		grid-column: 1 / 2;
		grid-row: 4 / 5;
	}

	.taikaiBox .textBox {
		grid-column: 1 / 2;
		grid-row: 5 / 6;
	}

	.taikaiBox .nameBox {
		margin: -150px 5px 0 0;
		z-index: 1;
		text-align: justify;
	}

	.taikaiBox hr {
		margin: 1em 0;
	}

	.taikaiBox .textBox {
		column-count: 1;
	}

	/*ENDレイアウト*/
	#zentaiArea h3 {
		margin-bottom: 0;
	}

	#zentaiArea h3 span {
		margin-top: 1em;
	}


	#zentaiArea .zentaiImage {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	#zentaiArea .taikaiBox .zentaiText {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	#zentaiArea .taikaiBox hr {
		grid-column: 1 / 2;
		grid-row: 3 / 4;
	}

	#zentaiArea .taikaiBox .textBox {
		grid-row: 4 / 5;
	}

	#zentaiArea .taikaiBox .nameBox {
		margin: 0 0 1em;
	}

	#zentaiArea .taikaiBox .carrier {
		padding-left: 0;
		margin-right: 0;
	}

	/*記念講演*/
	.tokubetsuBox {
		grid-template-columns: 1fr;
		gap: 20px 0;
		width: 100%;
	}

	.tokubetsuBox .wrap {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1em;
	}

	.tokubetsuBox .tokubetsuBoxImage {
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}

	/*------------
	bunkakaiArea
	------------*/
	.details-summary {
		width: 100%;
	}


	/*レイアウト*/
	.detailsinner {
		padding: 1.5em 1em;
	}

	/*
.details-summary {
	grid-template-columns: 80px 1fr 50px;
}*/

	/*ENDレイアウト*/
	.details-summary .arrow {
		width: 50px;
		height: 50px;
		top: 50%;
		right: 1em;
		transform: translateY(-35%);
		border-radius: 5px;
	}

	/*end アコーディオン*/
	.detailsinner .taikaiBox .zentaiImage {
		width: min(100%, 200px);
		margin: 0 auto;
	}

	.detailsinner .taikaiBox .nameBox {
		margin: 0;
		padding: 0;
	}

	.taikaiBox .carrier ul li {
		margin-right: 0;
	}

	/*no13*/
	.detailsinner .taikaiBox .profileBox .wrap {
		grid-template-columns: inherit;
	}


	/*------------
	accessArea
	------------*/
	.accessBox .gmap iframe {
		aspect-ratio: 1/1;
	}

}