@charset "utf-8";

/*================================
-アイキャッチ部分
=================================*/

.sub-eyecatch {
	height: 400px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url("../../src/img/top/top-mv.webp") no-repeat left center / cover var(--color-gray);
	padding: 120px 20px 0;
	position: relative;

	&::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.4);
	}
}

@media screen and (max-width: 767px) {
	.sub-eyecatch {
		height: 240px;
		padding: 64px 4.26vw 0;
	}
}

/*================================
-パンくずリスト
=================================*/
.sub-breadcrumb {
	font-size: min(3.46vw, 14px);
	line-height: 1.4;
	color: var(--color-text-gray);
	max-width: var(--max-width);
	margin: auto;
	padding: 20px 0 80px;
	display: flex;

	.arrow {
		margin-right: 24px;
		position: relative;

		&::before {
			content: "»";
			position: absolute;
			right: -16px;
			top: 50%;
			transform: translateY(-50%);
			z-index: 1;
			color: var(--color-text-gray);
		}
	}

	p {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
	}

	a {
		color: var(--color-assort);
		text-decoration: underline;
	}
}

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

/*================================
-サブページ外枠
=================================*/

.sub-wrapper {
	margin: auto;
	overflow: hidden;
	padding: 0 20px 120px;

	>.inner {
		max-width: var(--max-width);
		margin: auto;
		display: grid;
		grid-template-columns: 320px 1fr;
		gap: 56px;
	}
}

@media screen and (max-width: 1024px) {
	.sub-wrapper {
		padding: 0 4.26vw 96px;

		>.inner {
			grid-template-columns: 1fr;
			gap: 80px;
		}
	}
}

.sub-contents {
	order: 2;
}

.sub-sidebar {
	order: 1;
}

@media screen and (max-width: 1024px) {
	.sub-contents {
		order: 1;
	}

	.sub-sidebar {
		order: 2;
	}
}

/*================================
-サイドバー
=================================*/

.sub-sidebar-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	border: .5px solid var(--color-gray);
	background-color: var(--color-gray-light);

	.title {
		height: 56px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: 500;
		color: var(--color-main);
		font-family: var(--font-serif);
		font-size: min(4.26vw, 18px);
		overflow: hidden;
		position: relative;
		background: url("../../src/img/common/common-background03.webp") no-repeat center right / 200% var(--color-assort);
	}

	.link {
		height: 56px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		border-bottom: .5px dashed var(--color-gray-dark);
		padding: 0 min(3.73vw, 14px) 0 min(calc(4.3vw * 2), 40px);
		position: relative;
		font-size: min(3.73vw, 14px);

		&:last-child {
			border-bottom: 0;
		}

		&::before {
			content: "〉";
			position: absolute;
			left: min(4vw, 20px);
			top: 50%;
			transform: translateY(-50%);
			z-index: 1;
		}
	}

	.home {
		&::before {
			content: "";
			position: absolute;
			background: url("../img/common/icon-home-bk.svg") no-repeat center center / 100%;
			width: 14px;
			height: 14px;
			left: min(2.9vw, 16px);
			top: 50%;
			transform: translateY(-50%);
			z-index: 1;
		}
	}

	.border-none {
		border-bottom: 0;
	}
}

/*================================
-サブページコンテンツ
=================================*/

.sub-section,
.sub-section-no-space {
	margin-bottom: 120px;

	>.inner,
	>.inner-no-space {
		margin-bottom: 104px;

		p {
			margin-bottom: 24px;
			text-align: justify;

			strong,
			b {
				background: linear-gradient(transparent 70%, var(--color-yellow-light) 70%);
				font-weight: 400;
			}

			strong {
				font-weight: 500;
			}
		}

		p,
		span {
			a {
				text-decoration: underline;
				color: var(--color-assort);
			}
		}
	}

	>.inner-no-space {
		margin-bottom: 0;
	}
}

.sub-section-no-space {
	margin-bottom: 0;
}

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

	.sub-section,
	.sub-section-no-space {

		>.inner,
		>.inner-no-space {

			p,
			span {
				a {
					&:hover {
						text-decoration: none;
					}
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {

	.sub-section,
	.sub-section-no-space {

		>.inner,
		>.inner-no-space {

			p,
			span {
				a {
					&:active {
						text-decoration: none;
					}
				}
			}
		}
	}

	.sub-section {
		margin-bottom: 96px;

		>.inner {
			margin-bottom: 80px;
		}
	}
}

/*================================
-アンカージャンプ
=================================*/

.sub-anchor {
	margin-top: -160px;
	padding-top: 160px;
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	.sub-anchor {
		margin-top: -104px;
		padding-top: 104px;
	}
}

/*================================
-目次
=================================*/

.sub-menu {
	margin-bottom: 96px;
	background-color: var(--color-gray-light);
	padding: 40px 32px;
	overflow: hidden;
	position: relative;
	line-height: 1.6;

	&::before,
	&:after {
		content: "";
		position: absolute;
		z-index: 0;
		pointer-events: none;
	}

	.title {
		font-size: min(4.8vw, 19px);
		line-height: 1.6;
		font-family: var(--font-serif);
		font-weight: bold;
		line-height: 1.4;
		padding-bottom: 8px;
		border-bottom: .5px solid var(--color-text);
		position: relative;

		>span {
			position: relative;
			z-index: 5;
		}

		&::before {
			content: "";
			position: absolute;
			left: -8px;
			top: 0;
			width: min(3.73vw, 16px);
			height: min(3.73vw, 16px);
			background-color: var(--color-assort);
			opacity: .1;
			z-index: 1;
		}
	}
}

@media screen and (max-width: 767px) {
	.sub-menu {
		padding: 32px 5.33vw;
		margin-bottom: 80px;
		margin-left: -4.26vw;
		width: calc(100% + 4.26vw * 2);
	}
}

.sub-menu-box-item {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 8px;

	.link {
		font-size: min(3.73vw, 14px);
		line-height: 1.4;
		height: 56px;
		padding: 0 min(4.26vw, 20px);
		position: relative;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		border-bottom: .5px dashed var(--color-gray-dark);

		&::before {
			content: "〉";
			position: absolute;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
			z-index: 1;
		}
	}
}

@media screen and (max-width: 767px) {
	.sub-menu-box-item {
		grid-template-columns: repeat(1, 1fr);

		.link {
			height: 64px;

			&:last-child {
				border-bottom: 0;
			}
		}
	}
}

@media screen and (min-width: 768px) {
	.sub-menu-box-item-no-border-pc {
		.link {
			border-bottom: 0;
		}
	}
}

/*================================
-見出し（サブページ）
=================================*/

.sub-headline01 {
	color: var(--color-main);
	font-weight: 400;
	letter-spacing: var(--letter-spacing);
	font-size: min(5.86vw, 38px);
	line-height: 1.4;
	padding: min(4.26vw, 16px) min(5.33vw, 24px);
	letter-spacing: 0.05rem;
	text-align: center;
	position: relative;
	z-index: 10;

	span {
		text-align: center;
	}
}

.sub-headline02 {
	font-size: min(6.4vw, 36px);
	line-height: 1.6;
	font-weight: 600;
	text-align: left;
	letter-spacing: var(--letter-spacing-large);
	margin-bottom: 48px;
	padding-bottom: 8px;
	position: relative;
	font-family: var(--font-serif);

	&::before,
	&::after {
		content: "";
		position: absolute;
		z-index: 1;
	}

	&::before {
		left: 0;
		bottom: -20px;
		width: min(3.73vw, 16px);
		height: min(3.73vw, 16px);
		background-color: var(--color-assort);
	}

	&:after {
		left: min(calc(4.26vw * 1.2), calc(20px * 1.2));
		bottom: -10px;
		background-color: var(--color-assort);
		width: calc(100% - min(5.33vw, 32px));
		height: 2px;
		opacity: .2;
	}

	.small {
		font-size: min(4.26vw, 16px);
	}

	.small-fill {
		font-size: min(3.73vw, 16px);
		background-color: var(--color-assort);
		color: var(--color-main);
		line-height: 32px;
		height: 32px;
		display: inline-flex;
		align-items: center;
		padding: 2px 16px;
		margin-bottom: 8px;
	}
}

.sub-headline03 {
	font-size: min(5.06vw, 24px);
	line-height: 1.6;
	font-weight: 400;
	letter-spacing: var(--letter-spacing);
	margin-bottom: 24px;
	padding-left: min(calc(5.06vw * 1.5), calc(24px * 1.5));
	position: relative;

	&::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: min(2.13vw, 8px);
		height: 80%;
		background-color: var(--color-accent);
		z-index: 1;
	}
}

.sub-headline04 {
	font-size: min(4.8vw, 20px);

	&::before {
		background-color: var(--color-gray-light);
	}
}

.sub-headline04-box {
	font-size: min(4.8vw, 22px);
	font-weight: 400;
	background-color: var(--color-assort);
	letter-spacing: var(--letter-spacing);
	color: var(--color-main);
	padding: 8px min(4.26vw, 16px);
	line-height: 1.6;
	margin-bottom: 24px;
	font-weight: 400;
}

/*================================
-サブページ画像
=================================*/

.sub-post-image,
.sub-post-image-border {
	margin: 40px auto;
	width: 100%;
	height: auto;
	display: block;
	max-width: 400px;

	>img {
		width: 100%;
		height: auto;
		display: block;
	}
}

.sub-post-image-border {
	>img {
		border: .5px solid rgba(0, 0, 0, 0.2);
		padding: 16px;
	}
}

@media screen and (max-width: 767px) {

	.sub-post-image,
	.sub-post-image-border {
		margin: 24px auto;
	}
}

/*================================
-サブページボタン
=================================*/

.sub-banner-button,
.sub-banner-button-confit {
	margin: 40px auto;
	max-width: 240px;
	border: 4px solid var(--color-gray);
	background-color: var(--color-main);
	height: 72px;
	position: relative;

	.link {
		display: flex;
	}
}

.sub-banner-button-confit {
	border: 4px solid var(--color-green);

	span {
		position: absolute;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		font-size: min(3.46vw, 12px);
		width: 100%;
		margin: auto;
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
	.sub-banner-button-confit {
		span {
			top: 2px;
		}
	}
}

.sub-banner-button-image {
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;

	.image {
		width: 50%;
		height: auto;
		display: block;
		margin-top: 16px;

		>img {
			width: 100%;
			height: auto;
			display: block;
		}
	}
}

.sub-border-box02 {
	.sub-banner-button-confit {
		margin: 0 auto 40px;
	}
}

.sub-banner-button-confit.common-button-comming-soon {
	opacity: .5;
}

/*================================
-枠線ボックス
=================================*/

.sub-border-box,
.sub-border-box02 {
	border: .5px solid var(--color-gray02);
	padding: 40px 56px;
	background-color: var(--color-main);

	>.inner {
		p {
			margin-bottom: 24px;

			&:last-child {
				margin-bottom: 0;
			}

			+.sub-headline02,
			+.sub-headline03,
			+.sub-headline04,
			+.sub-headline04-box {
				margin-top: 80px;
			}
		}

		.common-text-att-small {
			margin-bottom: 16px !important;
		}
	}
}

.sub-border-box02 {
	border: .5px solid var(--color-assort);
}

@media screen and (max-width: 767px) {

	.sub-border-box,
	.sub-border-box02 {
		padding: 40px min(4.26vw, 16px);
	}
}

/*================================
-表（テーブル）
=================================*/

/*================================
-日時表記テーブル
=================================*/

.sub-schedule-table,
.sub-schedule-table-1fr {
	width: 100%;
	margin: 24px auto;
	padding: 40px min(4.26vw, 32px);
	border: .5px solid var(--color-gray02);
	background-color: var(--color-main);

	table {
		border-collapse: collapse;
		margin-bottom: 40px;
		border-left: 2px solid var(--color-gray-dark);
	}

	th,
	td {
		border-collapse: collapse;
		border-spacing: 0;
		font-size: min(4vw, 18px);
		font-weight: 500;
		line-height: 1.6;
		vertical-align: middle;
		padding: 0;

		>p,
		>a {
			margin-bottom: 0 !important;
			padding-left: min(4.26vw, 16px);
		}
	}

	th {
		background-color: initial;
		color: var(--color-assort);
		margin-bottom: 8px;
		font-size: min(4.8vw, 20px);
	}

	td {
		font-weight: 400;
		font-size: min(4.26vw, 18px);
	}
}

.sub-schedule-table-1fr {

	th,
	td {
		display: block;
	}
}

@media screen and (min-width: 768px) {
	.sub-schedule-table {
		th {
			margin-right: 8px;
			width: 25%;
		}
	}
}

@media screen and (max-width: 767px) {
	.sub-schedule-table {
		padding: 32px 4.26vw;

		th,
		td {
			width: 100%;
			display: block;
		}

		tr+tr {
			th {
				margin-top: 24px;
			}
		}
	}
}

.sub-schedule-table-inner-box {
	padding-left: min(4.26vw, 16px);
	margin-top: 24px;
}

/*================================
-費用一覧テーブル
=================================*/

.sub-price-table {
	width: 100%;
	margin: 40px auto;
	border: .5px solid var(--color-gray-dark);
	background-color: var(--color-main);

	table {
		border-collapse: collapse;
	}

	th,
	td {
		border-collapse: collapse;
		border-spacing: 0;
		font-size: min(3.73vw, 15px);
		font-weight: 300;
		line-height: 1.6;
		vertical-align: middle;
		padding: min(3.2vw, 16px);
	}

	th {
		background-color: var(--color-gray-light);
		color: var(--color-text);
		font-weight: 400;
		border-bottom: .5px solid var(--color-gray-dark);
	}

	td {
		border-bottom: .5px solid var(--color-gray-dark);
		border-left: .5px solid var(--color-gray-dark);
	}

	tr {
		&:last-child {

			th,
			td {
				border-bottom: 0;
			}
		}
	}

	.th-top {
		background-color: var(--color-assort);
		color: var(--color-main);
		font-weight: 500;
		border-right: .5px solid var(--color-main);
		border-bottom: 0;

		span {
			text-align: center;
		}

		&:nth-of-type(2),
		&:nth-of-type(3) {
			width: min(24vw, 150px);
		}

		&:last-child {
			border-right: 0;
		}
	}
}

@media screen and (min-width: 768px) {
	.sub-price-table {
		td {
			span {
				text-align: right;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.sub-price-table {

		th,
		td {
			height: 64px;
		}
	}
}

/*================================
-ダウンロードファイルリスト用テーブル
=================================*/

.sub-download-table,
.sub-download-table-simple {
	.link-download {
		&::after {
			content: "";
			background: url("../img/common/download-icon01.svg") no-repeat center center / 100%;
			width: min(3.2vw, 12px);
			height: min(3.2vw, 12px);
			display: inline-block;
			vertical-align: middle;
			margin-left: min(1.06vw, 8px);
		}
	}
}

.sub-download-table {
	table {
		border-collapse: collapse;
		border: .5px solid var(--color-gray-dark);
	}

	th,
	td {
		border-collapse: collapse;
		border-spacing: 0;
		font-size: min(3.46vw, 15px);
		font-weight: 400;
		line-height: 1.6;
		vertical-align: middle;
	}

	th {
		background-color: var(--color-gray-light);
		color: var(--color-text);
		font-weight: 400;
		border-bottom: .5px solid var(--color-gray-dark);
		width: min(23.8vw, 300px);
		padding: 12px min(2.13vw, 16px);
	}

	td {
		border-bottom: .5px solid var(--color-gray-dark);
		border-left: .5px solid var(--color-gray-dark);
		padding: 12px min(2.13vw, 16px);
	}

	tr {
		&:nth-child(5)>th {
			border-bottom: 0;
		}

		&:last-child {

			th,
			td {
				border-bottom: 0;
			}
		}
	}
}

.sub-download-table-simple {
	table {
		border-collapse: collapse;
		border: .5px solid var(--color-gray-dark);
	}

	th,
	td {
		border-collapse: collapse;
		border-spacing: 0;
		font-size: min(3.73vw, 15px);
		font-weight: 400;
		line-height: 1.6;
		vertical-align: middle;

		p {
			margin-bottom: 0 !important;
		}
	}

	th {
		background-color: var(--color-gray-light);
		color: var(--color-text);
		font-weight: 400;
		border-bottom: .5px solid var(--color-gray-dark);
		padding: 16px min(3.2vw, 16px);
	}

	td {
		border-bottom: .5px solid var(--color-gray-dark);
		padding: 16px min(2.13vw, 16px);
	}
}

@media screen and (min-width: 768px) {
	.sub-download-table-simple {
		th {
			width: 67%;
		}

		tr {
			&:last-child {

				th,
				td {
					border-bottom: 0;
				}
			}
		}

		td {
			border-left: .5px solid var(--color-gray-dark);
		}
	}
}

@media screen and (max-width: 767px) {
	.sub-download-table-simple {

		th,
		td {
			display: block;
		}

		tr {
			&:last-child {
				td {
					border-bottom: 0;
				}
			}
		}
	}
}

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

	.sub-download-table,
	.sub-download-table-simple {
		a {
			color: var(--color-assort);
			text-decoration: underline;

			&:hover {
				text-decoration: none;
			}
		}
	}
}

@media screen and (max-width: 767px) {

	.sub-download-table,
	.sub-download-table-simple {
		a {
			color: var(--color-assort);
			text-decoration: underline;

			&:active {
				text-decoration: none;
			}
		}
	}
}

/*================================
-装飾
=================================*/

.sub-border-bottom {
	margin-bottom: 40px !important;
	padding-bottom: 40px !important;
	border-bottom: .5px solid var(--color-gray-dark);
}


/*================================
-注意書き
=================================*/

.sub-notice {
	border: .5px solid var(--color-red);
	padding: 48px min(4.26vw, 48px);
	background-color: var(--color-main);
	margin-bottom: 80px;

	.title {
		background-color: var(--color-red);
		letter-spacing: var(--letter-spacing);
		color: var(--color-main);
		padding: 8px min(4.26vw, 16px);
		margin-bottom: 24px;

		>span {
			font-size: min(4.26vw, 18px);
			font-weight: 400;
			line-height: 1.6;
			text-align: center;
		}
	}

	.text {
		margin-bottom: 24px;
	}

	.text-date {
		margin-top: 24px;
		padding-left: 16px;
		border-left: 2px solid var(--color-gray-dark);
		font-weight: 600;
		color: var(--color-red);
	}

	.text-en {
		margin-top: 24px;
	}
}

/*================================
-大会挨拶
=================================*/

.sub-greet-readmore {
	label {
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
		bottom: 0;
	}

	.sub-greet-box {
		height: 600px;
	}
}

.sub-greet-box {
	font-size: min(3.73vw, 15px);

	.image {
		width: 100%;
		height: auto;
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		margin: 0 auto 40px;
		padding-bottom: 40px;
		border-bottom: .5px dashed var(--color-gray-dark);

		>img {
			width: 100%;
			height: auto;
			display: block;
			max-width: min(50vw, 200px);
			margin: auto;
		}

		>figcaption {
			font-weight: 600;
			font-family: var(--font-serif);
			text-align: center;
			background-color: var(--color-white);
			color: var(--color-assort);
			margin-bottom: min(4.26vw, 16px);
			font-size: min(4.26vw, 20px);
			display: inline-block;

			> span {
				margin-right: min(2.13vw, 8px);
            	font-size: min(3.2vw, 14px);
			}
		}
	}
}

/*================================
-common-text-listの入れ子
=================================*/

.sub-list-flow {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 16px;
	padding-left: min(calc(4vw + 2px), calc(16px + 2px));
	margin: 16px auto;

	>li {
		position: relative;
		padding-left: min(calc(4vw + 2px), calc(16px + 2px));
		line-height: 1.6;

		span {
			font-size: min(3.73vw, 14px);
			line-height: 1.6;
			text-align: justify;
		}

		.number {
			position: absolute;
			content: "";
			color: var(--color-assort);
			left: 0;
			top: min(0.4vw, 2px);
		}
	}
}

@media screen and (max-width: 767px) {
	.sub-list-flow {
		>li {
			.number {
				top: 0.4vw;
			}
		}
	}
}

.sub-list-flow-child {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 16px;
	padding-left: min(calc(8vw + 2px), calc(32px + 2px));
	margin: 16px auto;

	>li {
		position: relative;
		padding-left: min(calc(4vw + 2px), calc(16px + 2px));
		line-height: 1.6;

		&::before {
			position: absolute;
			content: "-";
			color: var(--color-gray-dark);
			left: 3px;
			top: min(0.4vw, 2px);
		}

		span {
			font-size: min(3.73vw, 14px);
			line-height: 1.6;
			text-align: justify;
		}
	}
}

/*================================
-実行委員
=================================*/

.sub-management-list,
.sub-management-list-4fr {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px 16px;

	p {
		margin-bottom: 0 !important;
	}
}

.sub-management-list {
	grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 767px) {

	.sub-management-list,
	.sub-management-list-4fr {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 2.13vw;
	}
}

.sub-management-list-item {

	.image {
		width: 100%;
		height: auto;
		display: block;
		margin: 0 auto 16px;

		>img {
			width: 100%;
			height: auto;
			display: block;
			background-color: var(--color-gray-dark);
		}
	}
}

.sub-management-list-item-title {
	>span {
		font-size: min(3.2vw, 13px);
		line-height: 1.4;
		display: block;
		border: .5px solid var(--color-assort);
		color: var(--color-assort);
		margin-bottom: 8px;
		padding: 4px 8px;
		text-align: center;
		font-weight: 500;
	}
}

.sub-management-list-item-name {

	>span {
		font-size: min(4.26vw, 16px);
		line-height: 1.4;
		display: block;
		text-align: center;
	}
}

/*================================
-テキストボタン
=================================*/

.sub-button-text {

	.button {
		background-color: var(--color-accent);
		color: var(--color-main);
		line-height: 1.4;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 64px;
		font-weight: 500;
		position: relative;
		font-size: min(3.73vw, 15px);

		&::before {
			content: "";
			position: absolute;
			left: 4px;
			top: 4px;
			width: calc(100% - 8px);
			height: calc(100% - 8px);
			z-index: 1;
			user-select: none;
			pointer-events: none;
			border: .5px solid rgba(255, 255, 255, 0.7);
		}

		>span {
			position: relative;
			padding-left: min(4.5vw, 20px);
			text-align: center;

			&::before {
				content: "〉";
				position: absolute;
				left: 0;
				top: 50%;
				transform: translateY(-50%);
				z-index: 1;
			}
		}
	}
}

/*================================
-注意書きボックス
=================================*/

.sub-att-box {
	background-color: var(--color-gray-light);
	padding: 16px min(4.26vw, 16px);
	margin: 40px auto;

	p {
		margin-bottom: 16px !important;

		&:last-child {
			margin-bottom: 0 !important;
		}
	}

	.common-text-list {
		font-size: min(3.73vw, 15px);
	}
}

/*================================
-講演・発表ページの募集ボタン
=================================*/

.sub-lecture-menu,
.sub-lecture-menu-single,
.sub-lecture-menu-single02 {
	margin: 80px auto 96px;
	width: 100%;

	.title {
		font-size: min(5.33vw, 22px);
		font-weight: 500;
		color: var(--color-assort);
		letter-spacing: var(--letter-spacing);
		line-height: 1.6;
		margin-bottom: 40px;
		text-align: center;
		display: flex;
		justify-content: center;
		position: relative;

		&::before {
			content: "";
			position: absolute;
			left: 50%;
			bottom: -20px;
			z-index: 1;
			width: 0;
			height: 0;
			transform: translateX(-50%);
			border-style: solid;
			border-color: var(--color-yellow) transparent transparent transparent;
			border-width: 8px 20px 0px 20px;
			z-index: 1;
		}
	}

	.list {
		display: flex;

		>li {
			a {
				display: flex;
				align-items: center;
				flex-direction: column;
				justify-content: center;
				background-color: var(--color-accent);
				color: var(--color-main);
				line-height: 1.4;
				font-weight: 500;
				height: 64px;
				position: relative;

				&::before {
					content: "";
					position: absolute;
					left: 4px;
					top: 4px;
					width: calc(100% - 8px);
					height: calc(100% - 8px);
					z-index: 1;
					user-select: none;
					pointer-events: none;
					border: .5px solid rgba(255, 255, 255, 0.7);
				}

				.arrow {
					text-align: left;
					position: relative;
				}

				.small {
					font-size: min(3.2vw, 12px);
					font-weight: 400;
				}
			}

		}
	}
}

.sub-lecture-menu {
	.list {
		>li {
			a {
				.arrow {
					padding-left: min(5.33vw, 32px);

					&::before {
						content: "─";
						position: absolute;
						left: 0;
						top: 50%;
						transform: translateY(-50%);
						z-index: 1;
					}
				}
			}
		}
	}
}

.sub-lecture-menu-single,
.sub-lecture-menu-single02 {
	.list {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 0;
	}
}

.sub-lecture-menu-single02 {
	margin: 0 auto 80px;
}

@media screen and (min-width: 768px) {
	.sub-lecture-menu {

		.list {
			justify-content: space-between;

			>li {
				width: calc(100% / 2 - 4px);
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.sub-lecture-menu {
		.list {
			display: grid;
			grid-template-columns: repeat(1, 1fr);
			gap: 16px;
		}
	}

	.sub-lecture-menu-single02 {
		margin: 0 auto 40px;
	}
}

/*================================
-AI翻訳 251009 add
=================================*/

.sub-speark-information {
	padding: 40px 32px;
	background-color: var(--color-main);
	margin: 0 auto 80px;
	border: .5px solid var(--color-gray02);
}

@media screen and (max-width: 767px) {
	.sub-speark-information {
		padding: 40px min(4.26vw, 16px);
	}
}

.sub-speark-information-box {

	.title {
		font-size: min(5.33vw, 22px);
		font-weight: 500;
		color: var(--color-assort);
		letter-spacing: var(--letter-spacing);
		line-height: 1.6;
		margin-bottom: 24px;
		padding-top: min(calc(10.66vw * 1.3), calc(56px * 1.3));
		text-align: center;
		display: flex;
		justify-content: center;
		position: relative;

		>span {
			position: relative;
			z-index: 2;
		}

		&::before {
			content: "";
			position: absolute;
			transform: translateX(-50%);
			left: 50%;
			top: 0;
			width: min(10.66vw, 56px);
			height: min(10.66vw, 56px);
			background: url("../img/common/icon-translate.svg") no-repeat center center / 100%;
			opacity: .1;
			z-index: 1;
		}
	}

	.text {
		margin-bottom: 24px;
	}

	.text02 {
		margin-bottom: 0;
	}

	.list {
		margin: 40px auto;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 16px;
		padding: 40px 16px;
		border-top: .5px dashed var(--color-gray-dark);
		border-bottom: .5px dashed var(--color-gray-dark);

		>li {
			padding-left: min(calc(4.26vw * 2), calc(16px * 2));
			position: relative;

			&::before,
			&::after {
				content: "";
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
			}

			&::before {
				left: min(calc(2.66vw / 2), calc(10px / 2));
				top: calc(50% - 3px);
				width: min(2.66vw, 10px);
				height: min(1.33vw, 5px);
				border-left: 2px solid var(--color-accent);
				border-bottom: 2px solid var(--color-accent);
				transform: rotate(-45deg);
				z-index: 2;
			}

			&::after {
				left: 0;
				width: min(5.33vw, 20px);
				height: min(5.33vw, 20px);
				border-radius: min(5.33vw, 20px);
				border: .5px solid var(--color-gray-dark);
				z-index: 1;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.sub-speark-information-box {
		.list {
			padding: 40px 0;
		}
	}
}