@charset "utf-8";

.top-mv {
	height: auto;
	background: #0B2352;
	background: linear-gradient(60deg, rgba(11, 35, 82, 1) 0%, rgba(0, 5, 12, 1) 100%);
	overflow: hidden;
	position: relative;
	margin-top: 120px;

	img {
		max-width: 1500px;
		margin: auto;
		width: 100%;
		height: auto;
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.top-mv {
		margin-top: 56px;
	}
}

.top-mv-contents {
	position: absolute;
	left: min(4.26vw, 20px);
	bottom: 0;
	width: 100%;
	max-width: 440px;
	z-index: 4;

	>.inner {
		border-left: 1px solid var(--color-white);
		padding: min(5.33vw, 56px) 0;
		position: relative;
		z-index: 5;
	}
}

.top-mv-contents-item {
	line-height: 1.4;
	margin-left: min(2.13vw, 20px);

	.vanue {
		font-size: min(2.93vw, 18px);
		font-weight: 600;
		background-color: var(--color-white);
		line-height: 1.2;
		color: var(--color-text);
		padding: min(1.06vw, 8px) min(2.13vw, 8px);
		display: inline-block;
		margin-bottom: min(2.13vw, 8px);
	}

	.date {
		margin-bottom: min(4.26vw, 16px);
		font-size: min(5.33vw, 28px);
		font-weight: 600;
	}

	.day {
		writing-mode: vertical-rl;
		text-orientation: upright;
		font-weight: 600;
		font-size: min(2.66vw, 24px);
	}

	.large {
		font-size: min(10.66vw, 100px);
		font-weight: 600;
		line-height: 1.2;
	}

	.member {
		display: grid;
		grid-template-columns: 30% 1fr;
		gap: 0;
		font-weight: 600;
		font-size: min(3.46vw, 20px);
		line-height: 1.6;
	}
}

@media screen and (max-width: 880px) {
	.top-mv-contents-item {
		.vanue {
			font-size: 1.93vw;
		}
	}
}

@media screen and (max-width: 767px) {
	.top-mv-contents-item {
		.vanue {
			font-size: min(2.93vw, 18px);
		}

		.member {
			grid-template-columns: min(20vw, 200px) 1fr;
		}
	}
}

/*================================
-外枠
=================================*/

.top-wrapper {
	position: relative;
	overflow: hidden;
	padding-bottom: min(25.6vw, 120px);
}

.top-section,
.top-section-background {
	padding: min(10.66vw, 64px) 0;
	position: relative;
	z-index: 5;

	>.inner {
		max-width: 1300px;
		margin: auto;
		padding: 0 min(4.26vw, 16px);
		position: relative;
		z-index: 5;
	}
}

.top-section.greet {
	position: relative;

	>.inner {
		margin-top: min(53.3vw, 200px);
	}
}

.top-section-background {
	background-color: var(--color-white);
}

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

	.top-section,
	.top-section-background {
		overflow: hidden;
	}

	.top-section.greet {
	position: relative;

	>.inner {
		margin-top: min(4.26vw, 16px);
	}
}
}

.top-stripe-object-right {
	position: absolute;
	width: min(40vw, 400px);
	height: min(40vw, 320px);
	right: 0;
	top: 30%;
	z-index: 1;

	&::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-size: auto auto;
		background-color: rgba(250, 250, 252, 0);
		background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(232, 232, 232, 1) 6px, rgba(232, 232, 232, 1) 7px )
	}
}

.top-diagonal-object-left,
.top-diagonal-object-right {
	position: absolute;
	width: min(29.3vw, 400px);
	height: min(29.3vw, 400px);
	z-index: 1;
	overflow: hidden;

	&::before {
		position: absolute;
		right: 0;
		top: max(-2.13vw, -8px);
		content: "";
		display: block;
		width: 300%;
		height: 2px;
		background-color: var(--color-gray);
		transform: rotate(-45deg);
		transform-origin: top right;
	}
}

.top-diagonal-object-left {
	top: 0;
	left: 0;

	&::before {
		right: min(10.66vw, 40px);
	}
}

.top-diagonal-object-right {
	bottom: 0;
	right: 0;

	&::before {
		right: max(-10.66vw, -40px);
	}
}

@media screen and (max-width: 600px) {
	.top-diagonal-object-left,
	.top-diagonal-object-right {
		position: absolute;
		width: min(32vw, 400px);
		height: min(32vw, 400px);
	}
}

/*================================
-メニュー・お知らせ
=================================*/

.top-first-contents {
	background: url("../img/top/first-contents_background_pc.svg") no-repeat left 10% center / contain var(--color-gray);
	padding: min(14.93vw, 56px) 0 min(10.66vw, 48px);
	position: relative;

	&::before {
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: max(-4.8vw, -30px);
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: min(5.33vw, 32px) min(16vw, 160px) 0px min(16vw, 160px);
		border-color: var(--color-gray) transparent transparent transparent;
		z-index: 5;
	}

	>.inner {
		max-width: 1300px;
		margin: auto;
		display: grid;
		grid-template-columns: 52% 1fr;
		gap: min(4.26vw, 56px);
		padding: 0 min(4.26vw, 16px);
	}
}

@media screen and (max-width: 1400px) {
	.top-first-contents {
		background: url("../img/top/first-contents_background_pc.svg") no-repeat left -15% center / contain var(--color-gray);
	}
}

@media screen and (max-width: 1100px) {
	.top-first-contents {
		background: url("../img/top/first-contents_background_pc.svg") no-repeat left 10% center / cover var(--color-gray);


		>.inner {
			grid-template-columns: repeat(1, 1fr);
		}
	}
}

@media screen and (max-width: 767px) {
	.top-first-contents {
		background: url("../img/top/first-contents_background.svg") no-repeat left -10% center / 125% var(--color-gray);

		>.inner {
			grid-template-columns: repeat(1, 1fr);
			gap: min(10.66vw, 40px);
		}
	}
}

.top-news {
	font-size: min(3.46vw, 14px);
	line-height: 1.6;
}

.top-news-list {
	overflow-x: auto;
	border: .5px solid var(--color-gray-dark);
	background-color: rgb(231 231 239 / 0.5);
	padding: min(4.26vw, 16px);
}

@media screen and (min-width: 768px) {
	.top-news-list {
		/* height: 230px; */
		height: 160px;
	}
}

@media screen and (max-width: 767px) {
	.top-news-list {
		height: 20svh;
	}
}

.top-news-list-item {
	margin-bottom: min(4.26vw, 16px);

	.time {
		font-family: var(--font-serif);
	}

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

	b,
	strong {
		color: var(--color-red);
		font-weight: 500;
	}
}

@media screen and (min-width: 768px) {
	.top-news-list-item {
		a {
			&:hover {
				text-decoration: none;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.top-news-list-item {
		a {
			&:active {
				text-decoration: none;
			}
		}
	}
}

.top-menu-navi {
	max-height: 230px;
	overflow-y: auto;
	background-color: var(--color-base);
	padding: min(4.26vw, 16px);

	>.inner {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 24px;
	}
}

@media screen and (min-width: 768px) {
	.top-menu-navi {
		/* min-height: 230px; */
		min-height: 160px;
	}
}

@media screen and (max-width: 767px) {
	.top-menu-navi {
		height: 20svh;

		>.inner {
			grid-template-columns: repeat(1, 1fr);
			gap: 0;
		}
	}
}

.top-menu-navi-list {
	display: block;

	.link {
		display: inline-block;
		border-bottom: .5px dashed var(--color-gray-dark);
		line-height: 1.4;

		>span {
			position: relative;
			padding-left: min(4.5vw, 20px);
			font-size: min(3.73vw, 14px);

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

	.list {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 0 8px;
	}

	.parent,
	.parent-noborder {
		font-weight: 500;
		border-bottom: .5px dashed var(--color-gray-dark);
	}

	.parent-noborder {
		border-bottom: 0;
	}

	.indent {
		padding-left: min(calc(4.5vw * 1.2), calc(20px * 1.2));
	}
}

@media screen and (min-width: 768px) {
	.top-menu-navi-list {
		.link {
			height: min(10.66vw, 32px);
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: flex-start;
		}

		.list {
			.link {
				&:last-child {
					border-bottom: 0;
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.top-menu-navi-list {
		grid-template-columns: repeat(1, 1fr);

		.list {
			/* grid-template-columns: repeat(2, 1fr); */
			grid-template-columns: 45% 1fr;

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

		}

		.link {
			height: min(10.66vw, 40px);
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: flex-start;
		}
	}
}

.top-first-title {
	margin: 0;
	position: relative;

	&::before {
		content: "";
		position: absolute;
		width: min(10.13vw, 44px);
		height: min(10.13vw, 44px);
		border-radius: 50%;
		border: 2px solid var(--color-water);
		left: max(-4.26vw, -16px);
		bottom: min(3.2vw, 12px);
		z-index: 1;
	}

	.title {
		margin-left: min(2.13vw, 8px);
		position: relative;
		font-size: min(4.8vw, 19px);
		font-family: var(--font-serif);
		font-weight: 500;
		background-color: var(--color-gray);
		line-height: 1.4;
		letter-spacing: .2rem;
		display: inline-flex;
		padding: min(2.13vw, 8px) 0 min(2.13vw, 8px) min(2.13vw, 8px);
		z-index: 5;
	}

	.title-en {
		font-size: min(3.46vw, 14px);
		font-family: var(--font-serif);
		font-weight: 400;
		display: inline-flex;
		background-color: var(--color-gray);
		padding: min(2.13vw, 8px) 0 min(2.13vw, 8px) 0;
		align-items: center;
		z-index: 5;
	}
}

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

	.top-first-title {

		&::before {
			left: max(-2.13vw, -8px);
		}

		.title {
			font-weight: 600;
		}
	}
}

/*================================
-参加登録
=================================*/

.top-join {
	margin-bottom: 16px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(21.3vw, 120px);

	>.inner {
		width: 100%;
		margin: auto;
		position: relative;
	}
}

.top-join-contents {
	border: 2px solid var(--color-water);
	position: relative;
	display: grid;
	grid-template-columns: 40% 1fr;
	gap: 16px;

	.button {
		background-color: var(--color-assort);
		color: var(--color-white);
		display: flex;
		justify-content: center;
		max-width: 400px;
		margin: 40px auto 0;

		>span {
			position: relative;
			font-size: min(3.2vw, 16px);
			line-height: min(10.66vw, 56px);
			text-align: center;
			padding-left: min(3.2vw, 14px);
			font-weight: 600;

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

@media screen and (min-width: 768px) {
	.top-join-contents {
		background-color: var(--color-white);

		.button {
			transition: ease .3s;

			&:hover {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.top-join-contents {
		grid-template-columns: repeat(1, 1fr);
		overflow: hidden;
		border: 0;

		.button {
			transition: ease .3s;

			&:active {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

@media screen and (max-width: 480px) {
	.top-join-contents {
		width: calc(100% + 4.26vw * 2);
		margin-left: -4.26vw;
	}
}

.top-join-image {
	display: block;

	img {
		width: 100%;
		height: 100%;
		aspect-ratio: 100/120;
		object-position: right center;
		object-fit: cover;
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.top-join-image {
		display: block;

		img {
			aspect-ratio: 200/100;
		}
	}
}

.top-join-contents-item {
	margin: auto;
	width: 100%;
	max-width: 500px;
	padding: min(23.46vw, 88px) min(4.26vw, 40px) min(5.8vw, 32px);
	background-color: var(--color-white);

	.att-box {
		border: .5px solid var(--color-red);
		color: var(--color-red);
		line-height: min(10.66vw, 40px);
		margin: -16px auto 40px;
		text-align: center;
		position: relative;
	}

	.headline {
		position: relative;
		font-size: min(4.8vw, 22px);
		line-height: 1.6;
		font-family: var(--font-serif);
		font-weight: 600;
		margin-bottom: min(7.46vw, 40px);
		text-align: center;
		padding-bottom: 16px;
		border-bottom: 1px solid var(--color-gray-dark);

		>span {
			position: relative;
			padding-top: min(17.06vw, 64px);

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

	.deadline {
		display: grid;
		grid-template-columns: 40% 1fr;
		font-size: min(4vw, 20px);
		gap: 0;
		margin: 0 auto min(7.46vw, 40px);
		color: var(--color-red);
		padding: 0;
		max-width: 360px;
		width: 100%;

		.title {
			border-right: 1px solid var(--color-gray-dark);
			display: flex;
			align-items: center;
			font-weight: 500;
		}

		.text {
			margin-top: 0;
			padding-left: min(8.53vw, 32px);

			>span {
				line-height: 1.6;
				display: block;

				b {
					display: inline-block;
					margin-right: 6px;
					font-size: min(5.8vw, 32px);
					font-family: var(--font-serif);
					font-weight: 600;
					line-height: 1.4;
				}
			}
		}
	}

	.small {
		text-align: center;
		font-size: min(3.46vw, 14px);
	}
}

@media screen and (max-width: 767px) {
	.top-join-contents-item {
		margin-left: 4.26vw;
		width: calc(100% - 4.26vw * 2);
		margin-top: -40px;
		border: 2px solid var(--color-water);
		position: relative;
		z-index: 5;
	}
}

.top-join-contents-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(2.13vw, 8px);

	>li {
		background-color: var(--color-white);
		display: block;
		position: relative;
		z-index: 1;
	}
}

@media screen and (max-width: 1310px) {
	.top-join-contents-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 870px) {
	.top-join-contents-list {
		grid-template-columns: repeat(1, 1fr);
	}
}

.top-lecture-link {
	border: 1px solid var(--color-gray02);
	padding: min(23.46vw, 88px) min(4.26vw, 40px) min(5.8vw, 32px);
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	z-index: 2;

	.button {
		background-color: var(--color-assort);
		color: var(--color-white);
		display: flex;
		justify-content: center;

		>span {
			position: relative;
			font-size: min(3.2vw, 14px);
			line-height: min(10.66vw, 40px);
			text-align: center;
			padding-left: min(3.2vw, 14px);
			font-weight: 600;

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

@media screen and (min-width: 768px) {
	.top-lecture-link {
		.button {
			transition: ease .3s;

			&:hover {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.top-lecture-link {
		.button {
			transition: ease .3s;

			&:active {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

.top-lecture-link-item {

	.headline {
		position: relative;
		font-size: min(4.8vw, 22px);
		line-height: 1.6;
		font-family: var(--font-serif);
		font-weight: 600;
		margin-bottom: min(7.46vw, 40px);
		text-align: center;
		padding-bottom: 16px;
		border-bottom: 1px solid var(--color-gray-dark);

		>span {
			position: relative;
			padding-top: min(17.06vw, 64px);

			&::before {
				content: "";
				position: absolute;
				top: 0;
				left: 50%;
				transform: translateX(-50%);
				width: min(12.8vw, 48px);
				height: min(12.8vw, 48px);
				z-index: 2;
			}
		}
	}

	.marathon {
		>span {

			&::before {
				background: url("../img/common/icon-marathon.svg") no-repeat center center / 100%;
			}
		}
	}

	.case {
		>span {
			&::before {
				background: url("../img/common/icon-case.svg") no-repeat center center / 100%;
			}
		}
	}

	.poster {
		>span {

			&::before {
				background: url("../img/common/icon-poster.svg") no-repeat center center / 100%;
				top: min(2.13vw, 8px);
				width: min(7.46vw, 28px);
				height: min(10.66vw, 40px);
			}
		}
	}

	.deadline {
		display: grid;
		grid-template-columns: 40% 1fr;
		gap: 0;
		margin: 0 auto min(7.46vw, 40px);
		color: var(--color-red);
		padding: 0 min(4.26vw, 16px);
		max-width: 320px;

		.title {
			border-right: 1px solid var(--color-gray-dark);
			display: flex;
			align-items: center;
			font-weight: 500;
		}

		.text {
			margin-top: 0;
			padding-left: min(8.53vw, 32px);

			>span {
				line-height: 1.6;
				display: block;

				b {
					display: inline-block;
					margin-right: 6px;
					font-size: min(5.8vw, 24px);
					font-family: var(--font-serif);
					font-weight: 600;
					line-height: 1.4;
				}
			}
		}
	}
}

/*================================
-見出し
=================================*/

.top-headline02 {
	margin: 0 0 min(6.4vw, 64px) min(2.2vw, 32px);
	padding-top: min(14.93vw, 56px);
	line-height: 1.4;
	position: relative;
	display: inline-flex;

	&::before {
		content: "";
		position: absolute;
		height: 2px;
		left: min(2.13vw, 16px);
		bottom: min(0.53vw, 2px);
		background-color: var(--color-black);
		z-index: 6;
	}

	&::after {
		content: "";
		position: absolute;
		width: min(13.86vw, 112px);
		height: min(13.86vw, 112px);
		border-radius: 50%;
		border: min(0.8vw, 3px) solid var(--color-orange);
		left: max(-3.2vw, -40px);
		bottom: min(3.2vw, 12px);
		z-index: 1;
	}

	.headline {
		position: relative;
		font-size: min(6.93vw, 48px);
		font-weight: 600;
		font-family: var(--font-serif);
		letter-spacing: .05rem;
		line-height: 1.4;
		letter-spacing: .2rem;
		display: inline-flex;
		background-color: var(--color-base);
		padding: min(1.06vw, 8px) min(2.13vw, 24px) min(1.06vw, 8px) min(2.13vw, 16px);
		z-index: 5;
	}

	.title-en {
		position: relative;
		font-size: min(3.2vw, 22px);
		line-height: 1.4;
		font-weight: 600;
		color: var(--color-accent);
		font-family: var(--font-serif);
		display: inline-flex;
		background-color: var(--color-base);
		padding: min(1.06vw, 8px) min(4.26vw, 16px) min(2.13vw, 8px) 0;
		align-items: flex-end;
		z-index: 5;
	}
}

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

		&::before {
			width: calc(100% - min(4.26vw, 16px));
		}

		.title-en {
			padding: min(6.4vw, 24px) 0 min(1.06vw, 16px) 0;
		}
	}
}

@media screen and (max-width: 767px) {
	.top-headline02 {
		margin-left: 0;
		display: flex;

		&::before {
			width: calc(100% - min(4.26vw, 16px));
			height: 1px;
		}

		.headline {
			font-weight: 600;
		}
	}
}

.top-headline03 {
	margin-bottom: min(12.8vw, 56px);
	background-color: var(--color-assort);
	color: var(--color-white);
	text-align: center;
	font-weight: 600;
	font-family: var(--font-serif);
	padding: min(2.13vw, 8px) min(4.26vw, 16px);
	font-size: min(5.33vw, 24px);
	line-height: 1.6;
	letter-spacing: .2rem;

	.small {
		font-size: min(3.73vw, 16px);
		display: inline-block;
		margin-left: 4px;
	}
}

.top-headline03-b {
	margin-bottom: min(8.53vw, 32px);
	font-weight: 700;
	font-family: var(--font-serif);
	padding-bottom: min(2.13vw, 12px);
	font-size: min(5.33vw, 24px);
	line-height: 1.6;
	letter-spacing: .1rem;
	text-align: center;
	position: relative;

	&::before {
		content: "";
		position: absolute;
		left: 50%;
		bottom: -4px;
		transform: translateX(-50%);
		width: min(21.3vw, 80px);
		height: 2px;
		background-color: var(--color-assort);
	}
}

/*================================
-講演者一覧
=================================*/

.top-lecture {
	>.inner {
		max-width: 1300px;
		margin: auto;
	}
}

@media screen and (max-width: 767px) {
	.top-lecture {
		>.inner {
			padding: 0 min(2.13vw, 8px);
		}
	}
}

.top-lecture-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	font-family: var(--font-serif);
	justify-content: center;

	li {
		position: relative;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: auto;
		height: 100%;
	}

	img {
		max-width: 240px;
		width: 100%;
		height: auto;
		display: block;
		background-color: var(--color-white);
	}

	.name {
		margin: 0;
		position: relative;
		margin: min(8.53vw, 40px) auto min(2.13vw, 16px);

		&::before {
			content: "";
			position: absolute;
			width: min(6.4vw, 44px);
			height: min(6.4vw, 44px);
			border-radius: 50%;
			border: 2px solid var(--color-water);
			left: max(-4.26vw, -16px);
			bottom: min(3.2vw, 12px);
			z-index: 1;
		}

		.text {
			margin-left: min(2.13vw, 8px);
			position: relative;
			font-size: min(3.73vw, 19px);
			font-family: var(--font-serif);
			font-weight: 500;
			background-color: var(--color-base);
			line-height: 1.4;
			letter-spacing: .05rem;
			display: inline-flex;
			padding: min(2.13vw, 8px) 0 min(2.13vw, 8px) min(2.13vw, 8px);
			z-index: 5;
		}
	}

	.affiliation {
		margin: 0 auto;
		text-align: center;
		font-size: min(2.93vw, 15px);
		line-height: 1.4;
		letter-spacing: 0;
	}
}

@media screen and (min-width: 901px) {
	.top-lecture-list {
		gap: 0;

		li {
			border-right: 1px solid var(--color-black);

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

@media screen and (max-width: 900px) {
	.top-lecture-list {
		grid-template-columns: repeat(2, 1fr);
		gap: min(10.66vw, 40px) min(1.06vw, 4px);

		.name {
			&::before {
				left: max(-1.06vw, -4px);
			}

			.text {
				font-weight: 600;
				padding: min(1.06vw, 4px) 0 min(1.06vw, 4px) min(2.13vw, 8px);
			}
		}
	}
}


/*================================
-フッターの地図
=================================*/

.top-footer-map {
	width: 100%;
	height: auto;
	display: block;
	position: relative;
	z-index: 10;

	iframe {
		width: 100%;
		height: 100%;
		aspect-ratio: 4 / 1;
		display: block;
	}
}

@media (max-width: 767px) {
	.top-footer-map {
		overflow: hidden;

		iframe {
			aspect-ratio: 2 / 1;
		}
	}
}

.top-schedule-list {
	display: grid;
	gap: 40px;
	margin: 0 auto 48px;

	.top-schedule-box {
		&:first-child {
			&::before {
				content: "";
				position: absolute;
				background-color: var(--color-gray-dark);
			}
		}
	}
}

@media screen and (min-width: 768px) {
	.top-schedule-list {
		grid-template-columns: repeat(2, 1fr);

		.top-schedule-box {
			&:first-child {
				&::before {
					right: -20px;
					top: 50%;
					transform: translateY(-50%);
					width: .5px;
					height: 80%;
				}
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.top-schedule-list {
		grid-template-columns: repeat(1, 1fr);

		.top-schedule-box {
			&:first-child {
				&::before {
					left: 50%;
					bottom: -20px;
					width: 80%;
					height: .5px;
					transform: translateX(-50%);
				}
			}
		}
	}
}

/*================================
-バナーセクション
=================================*/

.top-banner {
	padding: min(10.66vw, 64px) 0 0;
}

.top-banner-list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(2.13vw, 8px);
	margin: 0 auto;
	padding: min(5.8vw, 32px) min(4.26vw, 40px);

	>li {
		max-width: 600px;
		margin: 0 auto;
	}

	.link {
		display: block;

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

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

	.top-banner {
		>.inner {
			padding: min(8.53vw, 40px) min(4.26vw, 80px);
			max-width: 1300px;
			margin: auto;
			padding: 0 min(4.26vw, 16px);
		}
	}

	.top-banner-list {
		background-color: var(--color-white);

		.link {
			transition: ease .3s;

			&:hover {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.top-banner-list {
		padding: 0 min(4.26vw, 80px);

		.link {
			transition: ease .3s;

			&:active {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

/*================================
-スライドコンテンツ
=================================*/

.top-slider-main {
	max-width: 1268px;
	margin: auto;
	overflow: hidden;
	margin: 64px auto min(10.66vw, 40px);
	overflow: hidden;
	position: relative;

	a {
		position: relative;
		display: block;

		&::before {
			content: "";
			position: absolute;
			left: 0;
			top: 0;
			border: 1px solid var(--color-gray-light02);
			width: 100%;
			height: 100%;
			user-select: none;
			z-index: 1;
		}
	}

	img {
		width: 100%;
		height: auto;
		display: block;
		position: relative;
		z-index: 0;
	}
}

.top-support-slide-link {
	display: block;
}

@media screen and (min-width: 768px) {
	.top-slider-main {

		&::before,
		&::after {
			content: "";
			position: absolute;
			top: 0;
			width: 80px;
			height: 100%;
			z-index: 5;
		}

		&::before {
			left: 0;
			background: #FFF;
			background: linear-gradient(90deg, var(--color-base) 0%, #f9f9f900 100%);
		}

		&:after {
			right: 0;
			background: #FFF;
			background: linear-gradient(-90deg, var(--color-base) 0%, #f9f9f900 100%);
		}

		img {
			&:hover {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.top-slider-main {
		width: calc(100% + 4.26vw * 2);
		margin-left: -4.26vw;

		img {
			&:hover {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

.top-slider-thumb {
	max-width: 1000px;
	margin: min(10.66vw, 40px) auto 0;

	>.inner {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: min(2.13vw, 8px);
	}

	.swiper-slide-thumb-active {
		border: 1px solid var(--color-assort);
	}
}

@media screen and (max-width: 767px) {
	.top-slider-thumb {
		>.inner {
			grid-template-columns: repeat(2, 1fr);
		}
	}
}

.top-slide-text {
	display: flex;
	justify-content: center;
	text-align: center;
	font-size: min(3.46vw, 14px);
	margin-top: min(4.26vw, 16px);
}

.top-slider-thumb-image {
	margin: 0 !important;
	padding: 0 !important;
	transition: ease .3s;
	cursor: pointer;
	border: 1px solid var(--color-gray-light02);

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

@media screen and (min-width: 768px) {
	.top-slider-thumb-image {
		width: initial !important;

		img {
			&:hover {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.top-slider-thumb-image {
		img {
			&:hover {
				transition: ease .3s;
				opacity: .7;
			}
		}
	}
}

/*================================
-挨拶文
=================================*/

.top-greet-name {
	position: relative;
	z-index: 2;

	.name {
		width: calc(100% - 40%);
		background-color: var(--color-black-light);
		position: relative;
		color: var(--color-white);
		z-index: 1;
		padding: min(3.2vw, 12px) min(4.26vw, 56px);
		font-size: min(3.73vw, 24px);
		line-height: 1.4;
		font-family: var(--font-serif);
		font-weight: 500;
		margin-bottom: min(4.26vw, 16px);
		overflow: hidden;

		&:after {
			content: "";
			position: absolute;
			display: block;
			width: 0;
			height: 0;
			top: 50%;
			transform: translateY(-50%);
			border-style: solid;
			border-color: transparent transparent var(--color-gray-dark) transparent;
			border-width: 0px 0px min(133.3vw, 500px) min(133.3vw, 500px);
			right: 0;
			z-index: 1;
		}
	}

	img {
		position: absolute;
		bottom: max(-10.66vw, -40px);
		right: min(25.6vw, 96px);
		max-width: 480px;
		width: 100%;
		height: auto;
		z-index: 2;
	}

}

@media screen and (max-width: 1100px) {
	.top-greet-name {
		.name {
			width: calc(100% - 20%);
		}

		img {
			max-width: initial;
			right: min(10.66vw, 40px);
			width: min(106.6vw, 400px);
		}
	}
}

@media screen and (max-width: 767px) {
	.top-greet-name {

		.name {
			width: 100%;

			&:after {
				border-width: 0px 0px min(80vw, 300px) min(80vw, 300px);
			}
		}

		img {
			width: min(51.73vw, 300px);
			right: max(-10.66vw, -40px);
			bottom: 0;
		}
	}
}

.top-greet-box {
	background-color: var(--color-white);
	padding: min(8.53vw, 48px) min(4.26vw, 56px);
	position: relative;
	z-index: 5;
}

@media screen and (max-width: 767px) {
	.top-greet-box {
		grid-template-columns: repeat(1, 1fr);
	}
}

.top-greet-box-item {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	position: relative;

	.contents {
		.headline {
			font-size: min(4.8vw, 22px);
			font-weight: 600;
			font-family: var(--font-serif);
			color: var(--color-accent);
			line-height: 1.4;
			margin-bottom: min(5.86vw, 22px);
		}

		p {
			margin-bottom: min(6.4vw, 24px);
			font-size: min(3.46vw, 15px);

			strong {
				color: var(--color-accent);
			}

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

		.text-right {
			text-align: right;
		}
	}
}

@media screen and (min-width: 768px) {
	.top-greet-box-item {
		.contents {
			&:first-child {
				padding-right: min(5.33vw, 20px);
				border-right: 1px solid var(--color-black);
			}

			&:last-child {
				padding-left: min(5.33vw, 20px);
			}
		}
	}
}

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

		.contents {

			&:first-child {
				padding-bottom: min(5.33vw, 20px);
				border-bottom: 1px solid var(--color-black);
			}

			&:last-child {
				padding-top: min(5.33vw, 20px);
			}

			.headline {
				font-weight: 600;
			}
		}
	}
}

.top-greet-box-item .contents.text-ja {
	text-align: justify;
}

.top-greet-box-item .contents.text-en {
	text-align: left;
}