@charset "UTF-8";

.bg-ja-style {
	background-image: url(../images/bg-ja-style.webp);
	background-repeat: repeat;
}

/*******************************************************************************
	キービジュアル
 *******************************************************************************/
.visual_container {
	display: block;
	width: 100%;
	height: 100svh;
	margin-bottom: 55px;
	padding-top: clamp(4.625rem, 4.374rem + 0.52vw, 5rem);
	background-image: url(../images/visual_bg.webp);
	background-repeat: repeat;
	background-position: center;
	background-size: 1920px 1080px;
}

@media screen and (min-width: 783px) {
	.admin-bar .visual_container {
		height: calc(100svh - 32px);
	}
}

@media screen and (max-width: 782px) {
	.admin-bar .visual_container {
		height: calc(100svh - 46px);
	}
}

.visual_motion-container {
	display: block;
	position: fixed;
	top: 0;
	z-index: 20;
	width: 100%;
	height: 100svh;
	background-image: url(../images/visual_motion-bg.webp);
	background-repeat: repeat;
	background-position: center;
	background-size: 1920px 1080px;
}

.visual_motion-container.motion_hide {
	visibility: hidden;
	opacity: 0;
	transition: all 0.65s;
}

.visual_motion-inner {
	position: relative;
	height: 100%;
}

.visual_motion-move {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 0;
	transform: translate(-50%, -50%);
	width: 3970px;
	height: 2160px;
}

.visual_motion-move img {
	transform: translateX(0);
	width: 100%;
	transition: all 5.1s linear;
}

.visual_container.active .visual_motion-move img {
	transform: translateX(1025px);
}

.visual_motion-flower {
	position: absolute;
	z-index: 1;
}


.visual_motion-left {
	top: clamp(1.563rem, -1.771rem + 6.94vw, 6.563rem);
	left: 10px;
	transform: translateX(-40px);
	max-width: 440px;
	width: 40%;
	opacity: 0;
}

.visual_motion-right {
	right: clamp(0.625rem, 1.3vw, 1.563rem);
	bottom: 10px;
	transform: translateX(40px);
	max-width: 725px;
	width: 55%;
	opacity: 0;
}

.visual_container.active .visual_motion-left , .visual_container.active .visual_motion-right {
	transform: translateX(0);
	opacity: 1;
	transition: opacity 0.7s linear 0.8s, transform 1.2s linear 0.8s;
}

.visual_motion-center {
	position: relative;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
	max-width: 820px;
	width: 89.3334%;
	margin: 0 auto;
}

.visual_motion-center img {
	width: 100%;
	opacity: 0;
}

.visual_container.active .visual_motion-center img {
	opacity: 1;
	transition: all 0.7s linear 0.8s;
}

.visual_motion-center figcaption {
	display: flex;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -45%);
	height: 100%;
	opacity: 0;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	flex-direction: column;
	align-items: center;
}

.visual_container.active .visual_motion-center figcaption {
	transform: translate(-50%, -50%);
	opacity: 1;
	transition: opacity 0.7s linear 0.8s, transform 1.2s linear 0.8s;
}

.visual_motion-center h2 {
	margin: 0 -0.1em;
	font-weight: bold;
	font-size: clamp(2.188rem, 0.014rem + 10.87vw, 6.25rem);
}

.visual_motion-center aside {
	font-weight: 500;
	font-size: clamp(0.875rem, 0.005rem + 4.35vw, 2.5rem);
}

.visual_motion-center aside:nth-of-type(1) {
	margin-top: -0.7em;
	letter-spacing: -0.01em;
}

.visual_motion-center span:nth-of-type(1) {
	margin-top: -1.5em;
}

.visual_motion-center span:nth-last-of-type(1) {
	margin-bottom: -0.5em;
}







.visual_contents {
	display: flex;
	height: 100%;
	opacity: 0;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
}
.visual_container.active .visual_contents {
	opacity: 1;
	transition: all 0.4s linear 5.4s;
}

.visual_title {
	display: flex;
	font-weight: bold;
	flex-direction: column;
	align-items: center;
}

@media screen and (min-width: 835px) {
	.visual_title {
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 834px) {
	.visual_title {
		margin-top: 20px;
		margin-bottom: auto;
	}
}

.visual_title dt {
	margin-bottom: -3.643%;
	font-size: clamp(1.875rem, 0.332rem + 4.94vw, 5.563rem);
}

.visual_title dd {
	display: flex;
	overflow: hidden;
	color: #a12b2c;
	font-size: clamp(3.438rem, 0.09rem + 10.71vw, 11.438rem);
	flex-direction: column;
}

.visual_title dd span {
	font-size: 28px;
	text-align: center;
}
.visual_center {
	position: relative;
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 20px;
}

.visual_center::before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% * 2);
	height: 100%;
	background: linear-gradient(to bottom, #f0f0f0 0%, #fcfcfc 10%, #ffffff 50.21%, #f9f9f9 90%, #f2f2f2 100%);
	content: "";
}
.visual_period {
	display: flex;
	position: relative;
	max-width: 1610px;
	margin: 0 auto;
	column-gap: clamp(0.625rem, 0.018rem + 1.16vw, 1.25rem);
	justify-content: flex-end;
	align-items: baseline;
}

.visual_period > aside {
	color: #a12b2c;
	font-weight: bold;
	font-size: clamp(1.563rem, -2.078rem + 6.98vw, 5.313rem);
	letter-spacing: -0.04em;
}
.visual_calendar {
	display: flex;
	column-gap: 5px;
	align-items: baseline;
}

.visual_year {
	display: flex;
	font-weight: bold;
	align-items: baseline;
}

.visual_year span {
	display: block;
	margin-bottom: 5px;
	font-weight: 500;
}

.visual_days {
	display: flex;
	align-items: baseline;
}

.visual_days li {
	display: flex;
	font-weight: bold;
	align-items: flex-end;
}

.visual_days li:nth-of-type(1)::after {
	display: block;
	background-color: #242424;
	content: "";

	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	aspect-ratio: 6/7;
}

.visual_days li span {
	font-weight: 500;
}


.visual_days li span.week {
	display: inline-flex;
	padding-bottom: clamp(0rem, -0.303rem + 0.58vw, 0.313rem);
	border-radius: 100%;
	background-color: #242424;
	color: #ffffff;
	line-height: 1;
	justify-content: center;
	align-items: center;

	aspect-ratio: 1/1;
}
@media screen and (min-width: 501px) {
	.visual_year {
		font-size: clamp(2.188rem, 1.399rem + 1.51vw, 3rem);
	}
	.visual_year span {
		font-size: clamp(1.25rem, 0.886rem + 0.7vw, 1.625rem);
	}
	.visual_days li {
		font-size: clamp(3.125rem, 0.819rem + 4.42vw, 5.5rem);
	}
	.visual_days li:nth-of-type(1)::after {
		width: clamp(1.25rem, 0.643rem + 1.16vw, 1.875rem);
		margin: 0 10px clamp(1.25rem, 0.947rem + 0.58vw, 1.563rem);
	}
	.visual_days li span:not(.week) {
		margin-bottom: 10px;
		font-size: clamp(1.875rem, 0.297rem + 3.02vw, 3.5rem);
	}
	.visual_days li span.week {
		width: clamp(2.188rem, 1.277rem + 1.74vw, 3.125rem);
		margin-bottom: clamp(0.938rem, 0.634rem + 0.58vw, 1.25rem);
		font-size: clamp(1.25rem, 0.522rem + 1.4vw, 2rem);
	}
}
@media screen and (max-width: 500px) {
	.visual_period {
		justify-content: center;
	}
	.visual_year {
		font-size: clamp(1.25rem, -2.5rem + 15vw, 2.188rem);
	}
	.visual_year span {
		font-size: clamp(0.938rem, -0.313rem + 5vw, 1.25rem);
	}
	.visual_days li {
		font-size: clamp(1.875rem, -3.125rem + 20vw, 3.125rem);
	}
	.visual_days li span:not(.week) {
		margin-bottom: clamp(0.313rem, -0.938rem + 5vw, 0.625rem);
		font-size: clamp(1.25rem, -1.25rem + 10vw, 1.875rem);
	}
	.visual_days li span.week {
		width: clamp(1.563rem, -0.938rem + 10vw, 2.188rem);
		margin-bottom: clamp(0.5rem, -1.25rem + 7vw, 0.938rem);
		font-size: clamp(0.938rem, -0.313rem + 5vw, 1.25rem);
	}
	.visual_days li:nth-of-type(1)::after {
		width: clamp(0.938rem, -0.313rem + 5vw, 1.25rem);
		margin: 0 clamp(0.313rem, -0.938rem + 5vw, 0.625rem) clamp(0.625rem, -1.875rem + 10vw, 1.25rem);
	}
}

.visual_person {
	position: absolute;
	right: 0;
	bottom: -45.1613%;
	transform: translateX(65px);
	max-width: 280px;
	width: clamp(10rem, 2.718rem + 13.95vw, 17.5rem);
	opacity: 0;
}
.visual_container.active .visual_person {
	transform: translateX(0);
	opacity: 1;
	transition: all 0.5s linear 6.3s;
}

.visual_person-img , .visual_person-img img {
	width: 100%;
}

.visual_person-img img {
	filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.54));
}

.visual_person-details {
	position: absolute;
	bottom: 19.2772%;
	left: clamp(0.938rem, 0.027rem + 1.74vw, 1.875rem);
	color: #ffffff;
	opacity: 0;
	font-weight: bold;
	font-size: 12px;
	text-shadow: 0px 0px 8px #000000;
}
.visual_container.active .visual_person-details {
	opacity: 1;
	transition: all 0.4s linear 7.4s;
}

.visual_person-details aside {
	font-weight: bold;
	font-size: clamp(1.25rem, 1.198rem + 0.17vw, 1.375rem);
}

.visual_person-details aside span {
	margin-left: 0.5em;
	font-size: 12px;
}

.visual_bottom {
	display: flex;
	width: 100%;
	flex-direction: column;
}

.swiper-wrapper {
	--swiper-wrapper-transition-timing-function: linear !important;
}

.visual_slide-img {
	max-width: 180px;
}

.visual_slide-img img {
	max-width: 180px;
	width: 100%;

	aspect-ratio: 18/13;
}
.visual_theme {
	display: flex;
	position: relative;
	z-index: 0;
	padding: 0 30px;
	background-color: #a12b2c;
	color: #ffffff;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.visual_theme dt {
	display: flex;
	font-weight: 600;
	font-size: 65px;
	font-size: clamp(1.563rem, -2.882rem + 9.26vw, 4.063rem);
	letter-spacing: -0.02em;
	column-gap: 0.5em;
	flex-wrap: wrap;
	justify-content: center;
}


.visual_theme dd {
	font-weight: bold;
	font-size: clamp(0.938rem, 0.493rem + 0.93vw, 1.188rem);
	text-align: center;
	letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
	.visual_container {
		max-height: 1080px;
	}

	.visual_period {
		width: 95%;
		justify-content: flex-end;
	}
	.visual_calendar {
		margin-right: calc(clamp(10rem, 2.718rem + 13.95vw, 17.5rem) + clamp(0.625rem, 0.018rem + 1.16vw, 1.25rem));
		padding: 14px 0;
	}
	.visual_theme {
		margin-top: -4px;
		padding-top: 30px;
		padding-bottom: 40px;
	}
}

@media screen and (max-width: 767px) {
	.visual_container {
		max-height: 667px;
	}
	.visual_title dd span {
		display: flex;
		white-space: nowrap;
		column-gap: 20px;
		justify-content: center;
		align-items: center;
	}

	.visual_title dd span::before , .visual_title dd span::after {
		display: block;
		width: 100%;
		height: 1px;
		background-color: #a12b2c;
		content: "";
	}
	.visual_period {
		width: 100%;
		justify-content: center;
	}
	.visual_calendar {
		padding: 9px 0;
	}
	.visual_person {
		display: none;
	}
	.visual_theme {
		margin-top: -5px;
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.visual_theme dt {
		line-height: 36px;
	}
}










/*******************************************************************************
	挨拶
 *******************************************************************************/
.message_container {
	display: block;
	width: 100%;
}

.message_list {
	display: flex;
	max-width: 1095px;
	margin: 0 auto;
	flex-direction: column;
	counter-reset: number;

	row-gap: 60px;
}

.message_item {
	display: flex;
	width: 100%;
	padding: 20px calc(4.3379% - 1px) 50px;
	border: 1px solid #000000;
	column-gap: 15px;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-start;
}


.message_large-img , .message_small-img {
	position: relative;
}

.message_large-img {
	max-width: 325px;
	width: 48.211%;
	padding-top: 2%;
	padding-right: 2%;
}

.message_small-img {
	max-width: 240px;
	min-width: 150px;
	width: 45%;
	padding-top: 10px;
	padding-right: 10px;
}

.message_large-img::before , .message_small-img::before {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
	background-color: #f0e2b9;
	content: "";

	aspect-ratio: 1/1;
}

.message_large-img::before {
	width: calc(100% - 6.1491%);
}

.message_small-img::before {
	width: calc(100% - 10px);
}

.message_item .message_large-img img , .message_item .message_small-img img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;

	aspect-ratio: 1/1;
}

.message_contents {
	display: flex;
	width: 100%;
	column-gap: clamp(0.625rem, 0.002rem + 1.3vw, 0.938rem);
	align-items: flex-start;
}

.message_contents::before {
	font-family: "Shippori Mincho", system-ui;
	font-size: clamp(2.813rem, -0.304rem + 6.49vw, 4.375rem);
	letter-spacing: -0.02em;
	content: counter(number, decimal-leading-zero);
	counter-increment: number;
}

.message_profile {
	width: 100%;
}

.message_profile-head {
	display: flex;
	width: 100%;
	column-gap: 10px;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-start;
}

.message_status {
	display: flex;
	margin-right: auto;
	font-weight: 600;
	flex-direction: column;
}

.message_position {
	margin-bottom: 10px;
	font-size: clamp(1.125rem, 0.502rem + 1.3vw, 1.438rem);
	letter-spacing: -0.02em;
}

.message_position span {
	display: inline-block;
}

.message_name {
	display: flex;
	font-weight: 600;
	column-gap: clamp(0.625rem, -0.622rem + 2.6vw, 1.25rem);
	align-items: center;
}

.message_name dt {
	padding-right: clamp(0.625rem, -0.622rem + 2.6vw, 1.25rem);
	border-right: 1px solid;
	font-size: clamp(1.875rem, 0.628rem + 2.6vw, 2.5rem);
	letter-spacing: -0.02em;
}

.message_name dd {
	font-size: clamp(1rem, 0.751rem + 0.52vw, 1.125rem);
	line-height: 23px;
}

.message_text {
	font-size: clamp(0.875rem, 0.501rem + 0.78vw, 1.063rem);
	line-height: clamp(1.75rem, 1.501rem + 0.52vw, 1.875rem);
}

.message_text p {
	text-align: justify;
	text-indent: 1em;
}

@media screen and (min-width: 768px) {
	.message_container {
		margin-bottom: 100px;
	}

	.message_list {
		width: 95%;

		row-gap: 60px;
	}

	.message_item {
		padding: 20px calc(4.3379% - 1px) 50px;
	}

	.message_large-img {
		margin-top: 30px;
	}

	.message_profile {
		max-width: 530px;
	}

	.message_profile-head {
		margin-bottom: 30px;
	}

	.message_status {
		padding-top: clamp(0.938rem, -0.933rem + 3.9vw, 1.875rem);
	}
}

@media screen and (max-width: 767px) {
	.message_container {
		margin-bottom: 50px;
	}

	.message_list {
		width: calc(100% - 40px);

		row-gap: 30px;
	}

	.message_item {
		padding: 15px 9px 30px;
	}

	.message_contents {
		flex-direction: column;
	}

	.message_profile-head {
		margin-bottom: 20px;
	}

	@media screen and (max-width: 500px) {
		.message_profile-head {
			flex-direction: column;
			align-items: center;
		}
	}

	.message_status {
		padding-top: 10px;
	}
}

/*******************************************************************************
	計画日程
 *******************************************************************************/
.schedule_container {
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.schedule_list {
	display: flex;
	max-width: 1200px;
	margin: 0 auto;
	column-gap: clamp(0.938rem, -0.03rem + 2.02vw, 1.563rem);
	justify-content: space-between;

	row-gap: 20px;
}

@media screen and (min-width: 551px) {
}

@media screen and (max-width: 550px) {
	.schedule_list {
		flex-direction: column;
	}
}

.schedule_item {
	display: flex;
	max-width: 587.5px;
	box-shadow: 0px 3px 10px rgba(201, 191, 158, 0.73);
	background-color: #ffffff;
	flex-grow: 1;
	flex-direction: column;
}

.schedule_day {
	display: flex;
	margin-bottom: 5px;
	padding: 7px 3.7915%;
	background-color: #a22d2e;
	color: #ffffff;
	font-size: clamp(1.25rem, 0.766rem + 1.01vw, 1.563rem);
	column-gap: 10px;
	align-items: center;
}

.schedule_day::before {
	display: block;
	width: clamp(0.938rem, 0.454rem + 1.01vw, 1.25rem);
	background-color: #ffffff;
	content: "";

	aspect-ratio: 20/23;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.schedule_calendar {
	display: flex;
	border-bottom: 3px solid #a22d2e;
	font-weight: bold;
	column-gap: clamp(0.625rem, -0.827rem + 3.02vw, 1.563rem);
	align-items: baseline;
}

.schedule_calendar dt {
	font-size: clamp(1.25rem, 0.282rem + 2.02vw, 1.875rem);
}

.schedule_calendar dd {
	font-size: clamp(1.563rem, -0.179rem + 3.63vw, 2.688rem);
}

.schedule_time-table {
	display: flex;
	position: relative;
	overflow: hidden;
	max-width: 510px;
	width: 100%;
	margin: 0 auto;
	flex-direction: column;
}

.schedule_time-table::before {
	display: block;
	position: absolute;
	top: 0;
	left: clamp(0.828rem, 0.368rem + 0.96vw, 1.125rem);
	z-index: 1;
	width: 3px;
	height: 100%;
	background-color: #a22d2e;
	content: "";
}

.schedule_time-item {
	position: relative;
	width: 100%;
}

.schedule_time-item:not(:nth-last-of-type(1))::after {
	display: block;
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 0;
	transform: translateX(-50%);
	width: 100%;
	height: 10px;
	background: linear-gradient(to bottom, #f1f1f1 0%, #f3f3f3 28.03%, #fafafa 48.53%, #ffffff 100%);
	content: "";
}

.schedule_time-content {
	display: flex;
	position: relative;
	z-index: 1;
	column-gap: clamp(0.625rem, -0.343rem + 2.02vw, 1.25rem);
	align-items: flex-start;
}

.schedule_time-content dt {
	display: flex;
	padding-left: clamp(0.625rem, 0.141rem + 1.01vw, 0.938rem);
	font-weight: 500;
	font-size: clamp(1.25rem, 0.766rem + 1.01vw, 1.563rem);
	column-gap: clamp(0.625rem, 0.141rem + 1.01vw, 0.938rem);
	align-items: center;
}

.schedule_time-content dt::before {
	display: block;
	z-index: 3;
	width: 10px;
	border-radius: 100%;
	background-color: #a22d2e;
	content: "";

	aspect-ratio: 1/1;
}

.schedule_time-item:nth-of-type(1) .schedule_time-content dt::after , .schedule_time-item:nth-last-of-type(1) .schedule_time-content dt::after {
	display: block;
	position: absolute;
	left: clamp(0.625rem, 0.141rem + 1.01vw, 0.938rem);
	z-index: 2;
	width: 10px;
	background-color: #ffffff;
	content: "";
}

.schedule_time-item:nth-of-type(1) .schedule_time-content dt::after {
	top: 0;
	height: 0.7em;
}

.schedule_time-item:nth-last-of-type(1) .schedule_time-content dt::after {
	top: 0.7em;
	height: 100%;
}

.schedule_time-content dd {
	font-size: clamp(1rem, 0.613rem + 0.81vw, 1.25rem);
	line-height: clamp(1.75rem, 1.073rem + 1.41vw, 2.188rem);
	text-align: justify;
}

@media screen and (min-width: 768px) {
	.schedule_container {
		margin-bottom: 100px;
		padding: 80px 0 100px;
	}

	.schedule_list {
		width: 95%;
	}

	.schedule_item {
		padding: 30px 2.5% 70px;
	}

	.schedule_calendar {
		margin-bottom: 25px;
		padding: 0 3.7915% 10px;
	}

	.schedule_time-item:not(:nth-last-of-type(1)) {
		padding-bottom: 15px;
	}

	.schedule_time-item:not(:nth-of-type(1)) {
		padding-top: 12px;
	}

	.schedule_time-content dd {
		padding-top: 1px;
	}
}

@media screen and (max-width: 767px) {
	.schedule_container {
		margin-bottom: 50px;
		padding: 40px 0;
	}

	.schedule_list {
		width: 100%;
		padding: 0 20px;
	}

	.schedule_item {
		padding: 20px 10px 40px;
	}

	.schedule_calendar {
		margin-bottom: 10px;
		padding: 0 10px 5px;
	}

	.schedule_time-item:not(:nth-last-of-type(1)) {
		padding-bottom: 10px;
	}

	.schedule_time-item:not(:nth-of-type(1)) {
		padding-top: 10px;
	}

	@media screen and (max-width: 374px) {
		.schedule_time-content {
			flex-direction: column;
		}

		.schedule_time-content dd {
			padding-left: 30px;
		}
	}
}

/*******************************************************************************
	開催場所
 *******************************************************************************/
.place_list {
	display: flex;
	max-width: 1200px;
	margin: 0 auto;
	column-gap: 4.1666%;
	flex-wrap: wrap;
	justify-content: space-between;
}

.place_item {
	display: flex;
	max-width: 575px;
	padding: 25px 2.0834% 30px;
	box-shadow: 0px 3px 10px rgba(201, 191, 158, 0.73);
	background-color: #fbf9f2;
	flex-direction: column;
	justify-content: space-between;
}

@media screen and (min-width: 551px) {
	.place_item {
		width: 47.9167%;
	}
}

@media screen and (max-width: 550px) {
	.place_list {
		flex-direction: column;
	}

	.place_item {
		width: 100%;
	}
}

.place_hall {
	display: flex;
	color: #ffffff;
	font-size: clamp(1.125rem, 0.641rem + 1.01vw, 1.438rem);
	justify-content: center;
	align-items: center;
}

.main_hall {
	background-color: #000000;
}
.sub_hall {
	background-color: #919191;
}

.place_head {
	display: flex;
	border-bottom: 1px solid #a22d2e;
	flex-direction: column;
}

.place_name {
	font-weight: bold;
	font-size: clamp(1.25rem, 0.766rem + 1.01vw, 1.563rem);
}

.place_day {
	display: block;
	font-weight: bold;
	font-size: clamp(0.938rem, 0.55rem + 0.81vw, 1.188rem);
}

.place_detail {
	display: flex;
	width: 100%;
	margin-top: auto;
	font-weight: 500;
	font-size: clamp(0.875rem, 0.778rem + 0.2vw, 0.938rem);
	line-height: 23px;
	flex-wrap: wrap;
}

.place_detail dt {
	display: flex;
	width: 3em;
	flex-wrap: nowrap;
}

.place_detail dt::after {
	content: "：";
}

.place_detail dd {
	width: calc(100% - 3em);
}

.place_map {
	display: block;
	width: 100%;
}

.place_map iframe {
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 768px) {
	.place_container {
		margin-bottom: 100px;
	}

	.place_list {
		width: 95%;

		row-gap: 50px;
	}

	.place_item {
		padding: 25px 2.0834% 30px;
	}

	.place_hall {
		margin-bottom: 15px;
		padding: 15.5px 0;
	}

	.place_head {
		margin-bottom: 30px;
		padding-bottom: 15px;
	}

	.place_name {
		margin-bottom: 5px;
	}

	.place_day {
		margin-bottom: 30px;
	}

	.place_map iframe {
		aspect-ratio: 21/16;
	}
}

@media screen and (max-width: 767px) {
	.place_container {
		margin-bottom: 50px;
	}

	.place_list {
		width: 100%;
		padding: 0 20px;

		row-gap: 30px;
	}

	.place_item {
		padding: 20px 10px;
	}

	.place_hall {
		margin-bottom: 10px;
		padding: 12px 0;
	}

	.place_head {
		margin-bottom: 20px;
		padding-bottom: 10px;
	}

	.place_day {
		margin-bottom: 20px;
	}

	.place_map iframe {
		aspect-ratio: 21/22;
	}
}

/*******************************************************************************
	全体会
 *******************************************************************************/
.lecturer_container {
	display: block;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.lecturer_list {
	display: flex;
	max-width: 1200px;
	margin: 0 auto;
	flex-direction: column;
}

.lecturer_item-content {
	display: flex;
	column-gap: clamp(1.25rem, -2.621rem + 8.06vw, 3.75rem);

	row-gap: 20px;
}

.lecturer_item-img {
	display: block;
	max-width: 440px;

	aspect-ratio: 88/89;
}

.lecturer_item-img img {
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}

.lecturer_item-details {
	display: block;
	max-width: 700px;
}

.lecturer_head {
	display: flex;
	border-bottom: 1px solid #707070;
	flex-direction: column;
}

.lecturer_position {
	font-weight: bold;
	font-size: clamp(1.25rem, 0.476rem + 1.61vw, 1.75rem);
}

.lecturer_name {
	display: flex;
	font-weight: 600;
	column-gap: clamp(0.625rem, -0.343rem + 2.02vw, 1.25rem);
	flex-wrap: wrap;

	row-gap: 5px;
}

@media screen and (min-width: 451px) {
	.lecturer_name {
		align-items: center;
	}
}

@media screen and (max-width: 450px) {
	.lecturer_name {
		margin-top: 10px;
		flex-direction: column;
	}
}

.lecturer_name dt {
	display: flex;
	color: #ffffff;
	font-size: clamp(1.563rem, 0.595rem + 2.02vw, 2.188rem);
	column-gap: 2px;
}

.lecturer_name dt span {
	display: flex;
	width: clamp(2.188rem, 1.22rem + 2.02vw, 2.813rem);
	padding-bottom: 2px;
	background-color: #000000;
	line-height: 1.15;
	justify-content: center;
	align-items: center;

	aspect-ratio: 1/1;
}

.lecturer_name dd {
	display: flex;
	font-size: clamp(2.188rem, 0.349rem + 3.83vw, 3.375rem);
	align-items: baseline;
}

.lecturer_name dd span {
	display: inline-flex;
	margin-left: 0.5em;
	font-size: clamp(1.563rem, 0.595rem + 2.02vw, 2.188rem);
}

.lecturer_main-theme {
	padding-left: clamp(0rem, -0.484rem + 1.01vw, 0.313rem);
	font-weight: 500;
	font-size: clamp(2.375rem, -0.044rem + 5.04vw, 3.938rem);
}

.lecturer_sub-theme {
	display: flex;
	font-weight: 500;
	font-size: clamp(1.25rem, 0.476rem + 1.61vw, 1.75rem);
	text-align: justify;
	align-items: center;
}

.lecturer_sub-theme::before , .lecturer_sub-theme::after {
	content: "〜";
}

.lecturer_text {
	padding: 35px 5% 45px;
	box-shadow: 0px 3px 10px rgba(201, 191, 158, 0.73);
	background-color: #ffffff;
	font-size: clamp(0.875rem, 0.585rem + 0.6vw, 1.063rem);
	line-height: clamp(1.75rem, 1.169rem + 1.21vw, 2.125rem);
}

.lecturer_text p {
	text-align: justify;
}

.lecturer_foot {
	display: flex;
	font-weight: 500;
	font-size: clamp(0.875rem, 0.585rem + 0.6vw, 1.063rem);
	line-height: clamp(1.75rem, 1.556rem + 0.4vw, 1.875rem);
	flex-direction: column;
}

.lecturer_personal-data {
	width: fit-content;
}

.lecturer_personal-data dt {
	float: left;
	clear: both;
	padding-right: 1em;
}

.lecturer_personal-data dd {
	display: flex;
	text-align: justify;
}

.lecturer_foot > a {
	display: flex;
	column-gap: 5px;
	align-items: center;
}


@media screen and (min-width: 768px) {
	.lecturer_container {
		margin-bottom: 85px;
		padding: 85px 0 100px;
	}

	.lecturer_list {
		width: 95%;

		row-gap: 90px;
	}

	.lecturer_item-content {
		align-items: flex-start;
	}

	.lecturer_item-img {
		min-width: 280px;
		width: calc(100% - clamp(0.625rem, -1.31rem + 4.03vw, 1.875rem) - 58.3334%);
	}

	.lecturer_item-details {
		width: 58.3334%;
	}

	.lecturer_head {
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.lecturer_sub-theme {
		margin-bottom: 20px;
	}

	.lecturer_text {
		padding: 35px 5% 45px;
	}
}

@media screen and (max-width: 767px) {
	.lecturer_container {
		margin-bottom: 50px;
		padding: 40px 0;
	}

	.lecturer_list {
		width: 100%;
		padding: 0 30px;

		row-gap: 50px;
	}

	.lecturer_item-content {
		flex-direction: column;
		align-items: center;
	}

	.lecturer_item-img {
		width: 100%;
	}

	.lecturer_item-details {
		width: 100%;
	}

	.lecturer_head {
		margin-bottom: 10px;
		padding-bottom: 10px;
	}

	.lecturer_sub-theme {
		margin-bottom: 10px;
	}

	.lecturer_text {
		padding: 20px 10px;
	}
}

/*******************************************************************************
	分科会
 *******************************************************************************/
.subcommittee_container {
	display: block;
}

.subcommittee_list {
	display: flex;
	max-width: 1200px;
	margin: 0 auto;
	column-gap: 4.1666%;
	flex-wrap: wrap;
	counter-reset: number;
}

.subcommittee_item {
	display: flex;
	max-width: 575px;
	box-shadow: 0px 3px 10px rgba(201, 191, 158, 0.73);
	background-color: #fbf9f2;
	flex-direction: column;
}

@media screen and (min-width: 551px) {
	.subcommittee_item {
		width: 47.9167%;
	}
}

@media screen and (max-width: 550px) {
	.subcommittee_list {
		flex-direction: column;
	}

	.subcommittee_item {
		width: 100%;
	}
}

.subcommittee_numbers {
	display: flex;
	column-gap: 10px;
	align-items: baseline;
}

.subcommittee_numbers dt {
	display: flex;
	position: relative;
	padding-right: 10px;
	font-size: clamp(1.563rem, 0.885rem + 1.41vw, 2rem);
	letter-spacing: -0.02em;
	align-items: baseline;
}

.subcommittee_numbers dt::before {
	position: absolute;
	bottom: 5px;
	left: 100%;
	width: 1px;
	height: clamp(1.875rem, 0.423rem + 3.02vw, 2.813rem);
	background-color: #707070;
	content: "";
}

.subcommittee_numbers dt::after {
	font-size: clamp(2.813rem, 0.877rem + 4.03vw, 4.063rem);
	line-height: 1;
	content: counter(number);
	counter-increment: number;
}

.subcommittee_numbers dd {
	font-weight: 500;
	font-size: clamp(0.875rem, 0.681rem + 0.4vw, 1rem);
}

.subcommittee_title {
	margin-bottom: 65px;
	font-weight: bold;
	font-size: clamp(1.438rem, 0.857rem + 1.21vw, 1.813rem);
	text-align: justify;
	letter-spacing: -0.05em;
}
.subcommittee_contents {
	display: flex;
	height: 100%;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	row-gap: 20px;
}

.subcommittee_person {
	display: flex;
	width: 100%;
	column-gap: clamp(0.625rem, -0.827rem + 3.02vw, 1.563rem);
	flex-wrap: wrap;
	align-items: center;

	row-gap: 15px;
}

@media screen and (max-width: 700px) {
	.subcommittee_person {
		flex-direction: column;
	}
}

.subcommittee_person-img {
	display: flex;
	overflow: hidden;
	max-width: 175px;
	min-width: 140px;
	width: 33.3334%;
	border-radius: 100%;
	background-color: #a0a0a0;
	justify-content: center;
	align-items: center;

	aspect-ratio: 1/1;
}

.subcommittee_person-img img {
	width: 100%;
	height: 100%;

	object-position: center;
	object-fit: cover;
}

.subcommittee_person-details {
	display: flex;
	flex-direction: column;
}

.subcommittee_person-position {
	font-weight: 500;
	font-size: clamp(0.938rem, 0.647rem + 0.6vw, 1.125rem);
	line-height: clamp(1.5rem, 1.016rem + 1.01vw, 1.813rem);
	letter-spacing: -0.05em;
}

.subcommittee_person-name {
	font-weight: bold;
	font-size: clamp(1.75rem, 0.976rem + 1.61vw, 2.25rem);
}

.subcommittee_person-name span {
	display: inline-block;
	font-size: clamp(1.125rem, 0.738rem + 0.81vw, 1.375rem);
}

.subcommittee_place {
	display: flex;
	border-bottom: 1px solid;
	font-size: clamp(0.875rem, 0.778rem + 0.2vw, 0.938rem);
	column-gap: clamp(1.25rem, 0.282rem + 2.02vw, 1.875rem);
	flex-wrap: wrap;
}

.subcommittee_place li {
	padding: 6px 20px;
	border: 1px solid #707070;
	background-color: #ffffff;
	font-weight: 500;
}

@media screen and (min-width: 768px) {
	.subcommittee_container {
		margin-bottom: 100px;
	}

	.subcommittee_list {
		width: 95%;

		row-gap: 50px;
	}

	.subcommittee_item {
		padding: 10px 2.0834% 30px;
	}

	.subcommittee_numbers {
		margin-bottom: 20px;
	}

	.subcommittee_title {
		margin-bottom: 65px;
	}
	.subcommittee_contents {
		margin-bottom: 25px;
	}

	.subcommittee_person {
	}

	.subcommittee_place {
		padding-bottom: 25px;
	}

	.subcommittee_place li {
		padding: 6px 20px;
	}
}

@media screen and (max-width: 767px) {
	.subcommittee_container {
		margin-bottom: 50px;
	}

	.subcommittee_list {
		width: 100%;
		padding: 0 20px;

		row-gap: 30px;
	}

	.subcommittee_item {
		padding: 20px 10px;
	}

	.subcommittee_numbers {
		margin-bottom: 10px;
	}

	.subcommittee_title {
		margin-bottom: 40px;
	}

	.subcommittee_contents {
		margin-bottom: 10px;
	}
	.subcommittee_person {
	}

	.subcommittee_place {
		padding-bottom: 20px;
	}

	.subcommittee_place li {
		padding: 4px 10px;
	}
}

/*******************************************************************************
	開催概要
 *******************************************************************************/
.event_container {
	display: block;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.event_contents {
	display: block;
	max-width: 1200px;
	margin: 0 auto;
	background-color: #ffffff;
}

.event_theme {
	display: flex;
	position: relative;
	max-width: 1130px;
	margin: 0 auto;
	font-size: clamp(1.875rem, 0.714rem + 2.42vw, 2.625rem);
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.event_theme::after {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 10px;
	background: linear-gradient(to bottom, #f1f1f1 0%, #f3f3f3 28.03%, #fafafa 48.53%, #ffffff 100%);
	content: "";
}

.event_theme strong {
	display: flex;
	word-break: keep-all;
	column-gap: 0.5em;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.event_theme strong span {
	display: inline-block;
}

.event_theme > span {
	color: #a22d2e;
	font-family: "Noto Sans JP", system-ui;
	font-weight: normal;
	font-size: clamp(1.063rem, 0.675rem + 0.81vw, 1.313rem);
}

.event_table {
	max-width: 1000px;
	margin: 0 auto;
	border-collapse: collapse;
}

.event_table tr {
	border-bottom: 1px solid #d2c9aa;
}

@media screen and (min-width: 601px) {
	.event_table th {
		width: 21.5%;
	}
}

@media screen and (max-width: 600px) {
	.event_table tr > * {
		display: block;
	}
}

.event_table th {
	max-width: 215px;
	font-size: clamp(1rem, 0.613rem + 0.81vw, 1.25rem);
	text-align: left;
}

.event_table td {
	font-size: clamp(0.875rem, 0.294rem + 1.21vw, 1.25rem);
}

.event_emphasis {
	font-weight: 500;
}

.event_days {
	display: flex;
	flex-direction: column;

	row-gap: 5px;
}

.event_due {
	display: flex;
	flex-wrap: wrap;
}

.event_due *:not(:nth-last-of-type(1)) {
	margin-bottom: 5px;
}

@media screen and (min-width: 451px) {
	.event_due dt {
		width: 11.75em;
	}

	.event_due dd {
		display: flex;
		width: calc(100% - 11.75em);
	}

	.event_due dd::before {
		content: "…";
	}
}

@media screen and (max-width: 450px) {
	.event_due {
		flex-direction: column;
	}

	.event_due dd {
		text-indent: 0.5em;
	}

	.event_due dd:not(:nth-last-of-type(1)) {
		margin-bottom: 10px;
	}
}

.event_card {
	display: flex;
	position: relative;
	font-style: normal;
	font-size: clamp(0.938rem, 0.744rem + 0.4vw, 1.063rem);
	line-height: clamp(1.563rem, 1.079rem + 1.01vw, 1.875rem);
	flex-direction: column;
}

.event_card::before {
	display: block;
	max-width: 500px;
	width: 100%;
	height: 1px;
	margin-bottom: 20px;
	background-color: #aeaeae;
	content: "";
}

.event_card dl {
	display: flex;
	flex-wrap: wrap;
}

.event_card dt {
	display: flex;
	width: 3em;
	white-space: nowrap;
}

.event_card dt::after {
	content: "：";
}

.event_card dd {
	width: calc(100% - 3em);
}

.event_place dt {
	margin-bottom: 5px;
}

.event_place dd {
	font-size: 14px;
}

.event_caution {
	display: flex;
	font-size: 14px;
	flex-direction: column;
	flex-wrap: wrap;

	row-gap: 10px;
}

.event_caution li {
	display: flex;
}

.event_caution li::before {
	content: "※";
}

.event_contact {
	display: block;
}

@media screen and (min-width: 768px) {
	.event_container {
		padding: 85px 0 100px;
	}

	.event_contents {
		width: 95%;
		padding: 35px 0 60px;
	}

	.event_theme {
		width: 95%;
		margin-bottom: 40px;
		padding-bottom: 15px;
	}

	.event_table {
		width: 95%;
	}

	.event_table tr > * {
		padding-bottom: 25px;
	}

	.event_table tr:not(:nth-of-type(1)) > * {
		padding-top: 25px;
	}

	.event_table th {
		font-weight: 400;
	}

	.event_due {
		margin-bottom: 30px;
	}

	.event_card {
		margin-top: 25px;
	}

	.event_card::before {
		margin-bottom: 20px;
	}

	.event_place dd:not(:nth-last-of-type(1)) {
		margin-bottom: 30px;
	}

	.event_contact {
		margin-bottom: 25px;
	}
}

@media screen and (max-width: 767px) {
	.event_container {
		padding: 40px 0;
	}

	.event_contents {
		width: calc(100% - 40px);
		padding: 30px 10px 40px;
	}

	.event_theme {
		width: 100%;
		margin-bottom: 20px;
		padding-bottom: 10px;
	}

	.event_table {
		width: 100%;
	}

	.event_table th {
		font-weight: bold;
	}

	.event_due {
		margin-bottom: 20px;
	}

	@media screen and (min-width: 601px) {
		.event_table tr > * {
			padding-bottom: 20px;
		}

		.event_table tr:not(:nth-of-type(1)) > * {
			padding-top: 20px;
		}
	}

	@media screen and (max-width: 600px) {
		.event_table th {
			width: 100%;
			padding-bottom: 10px;
		}

		.event_table tr:not(:nth-of-type(1)) th {
			padding-top: 20px;
		}

		.event_table tr td {
			padding-bottom: 20px;
		}
	}

	.event_card {
		margin-top: 20px;
	}

	.event_card::before {
		margin-bottom: 10px;
	}

	.event_place dd:not(:nth-last-of-type(1)) {
		margin-bottom: 15px;
	}

	.event_contact {
		margin-bottom: 20px;
	}
}

/*******************************************************************************
	アクセス・宿泊
 *******************************************************************************/
