@media screen and (max-width: 768px) {
	.index {
		background-image: url(../img/top/index-bg_sp.webp);
		background-position: top center;
		background-repeat: no-repeat;
		background-size: cover;
	}
}

/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	display: flex;
	position: relative;
}

.header__content {
	background-image: url(../img/top/header-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 42.46vw;
}

.header__content--title {
	margin: 13.909vw 0 0 4.173vw;
	width: 35.432vw;
}

.header__image {
	width: 57.54vw;
}

.header__logo {
	width: 14.495vw;
	position: absolute;
	top: 2.562vw;
	left: 3.221vw;
}

.header__info {
	background: rgba(var(--wht), 0.70);
	padding: 1.464vw 0;
	width: 42.46vw;
	line-height: normal;
	font-size: 1.757vw;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 5.124vw;
	left: 0;
}

.header__info .table__th {
	padding-right: 0.5em;
	font-family: var(--jost);
	vertical-align: top;
}

.header__info .table__th--inner {
	background-color: rgb(var(--grn));
	margin-top: 0.385vw;
	width: 6.589vw;
	height: 2.05vw;
	color: rgb(var(--wht));
	display: flex;
	justify-content: center;
	align-items: center;
}

.header__info .table__row:not(:last-of-type) td {
	padding-bottom: 1.171vw;
}

.header__info .table__td .date {
	font-family: var(--jost);
	display: block;
}

@keyframes headerFadeUp {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.header__content--title,
.header__info .table__th--inner,
.header__info .table__td {
	opacity: 0;
	animation: headerFadeUp 1.5s ease-out forwards;
}

.header__content--title {
	animation-delay: 0s;
}

.header__info .table__row:nth-of-type(1) .table__th--inner,
.header__info .table__row:nth-of-type(1) .table__td {
	animation-delay: 0.5s;
}

.header__info .table__row:nth-of-type(2) .table__th--inner,
.header__info .table__row:nth-of-type(2) .table__td {
	animation-delay: 1s;
}

@media screen and (max-width: 768px) {
	.header {
		display: block;
	}

	.header__content {
		background-image: url(../img/top/header-bg_sp.webp);
		padding: 25.333vw 0 7.467vw;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}

	.header__content--title {
		margin: 0;
		padding-left: 4.8vw;
		width: 86.933vw;
	}

	.header__image {
		width: 100%;
	}

	.header__logo {
		width: 41.867vw;
		position: absolute;
		top: 5.867vw;
		left: 4.8vw;
	}

	.header__info {
		padding: 4.8vw 0;
		width: 100%;
		font-size: 5.333vw;
		position: static;
	}

	.header__info .table__th--inner {
		margin-top: 1.333vw;
		width: 19.2vw;
		height: 5.867vw;
	}

	.header__info .table__row:not(:last-of-type) td {
		padding-bottom: 4.267vw;
	}
}

/* ----------------------------------------------------
	main
---------------------------------------------------- */
.main {
	background-image: url(../img/top/index-bg.webp);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}

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

/* ----------------------------------------------------
	concept
---------------------------------------------------- */
.concept {
	padding: min(10rem, 7.321vw) 0 min(7rem, 5.124vw);
	overflow: hidden;
	--concept-item-width: 25.622vw;
	--concept-gap: 1.464vw;
	--concept-set-size: 5;
	--concept-speed: 30s;
}

.concept .container {
	margin: 0 auto min(5rem, 3.66vw);
	width: min(114rem, 83.455vw);
}

.concept__title {
	margin-bottom: min(4rem, 2.928vw);
}

.concept__content {
	font-family: var(--mincho);
	text-align: center;
}

.concept__content--title {
	margin-bottom: min(2rem, 1.464vw);
	line-height: normal;
	font-size: min(3.4rem, 2.489vw);
}

.concept__content--text {
	font-size: min(2.2rem, 1.611vw);
}

.concept__image {
	margin: 0;
	padding: 0;
	width: max-content;
	display: flex;
	gap: var(--concept-gap);
	list-style: none;
	animation: conceptImageScroll var(--concept-speed) linear infinite;
}

.concept__image--item {
	width: var(--concept-item-width);
	flex: 0 0 auto;
}

.concept__image--item img {
	border-radius: min(2.4rem, 1.757vw);
	box-shadow: 0.293vw 0.293vw 0.878vw 0 rgba(var(--grn), 0.4);
}

@keyframes conceptImageScroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(calc((var(--concept-item-width) + var(--concept-gap)) * var(--concept-set-size) * -1));
	}
}

@media screen and (max-width: 768px) {
	.concept {
		padding: 16vw 0;
		--concept-item-width: 65.333vw;
		--concept-gap: 3.467vw;
		--concept-set-size: 5;
		--concept-speed: 24s;
	}

	.concept .container {
		margin-bottom: 16vw;
		width: 100%;
	}

	.concept__title {
		margin-bottom: 8vw;
		padding: 0 4.8vw;
	}

	.concept__title img {
		width: auto;
		height: 12.8vw;
	}

	.concept__content {
		padding: 0 4.8vw;
		text-align: left;
	}

	.concept__content--title {
		margin-bottom: 4.267vw;
		font-size: 6.933vw;
	}

	.concept__content--text {
		line-height: 2;
		font-size: 4.8vw;
	}

	.concept__image--item img {
		border-radius: 4.267vw;
		box-shadow: 0.8vw 0.8vw 2.133vw 0 rgba(var(--grn), 0.4);
	}
}

/* ----------------------------------------------------
	nav
---------------------------------------------------- */
.nav__list {
	margin: 0 auto min(5rem, 3.66vw);
	width: min(114rem, 83.455vw);
	display: flex;
	justify-content: space-between;
}

.nav__list--item {
	width: min(34rem, 24.89vw);
	text-align: center;
}

.nav__map {
	margin: 0 auto min(8rem, 5.857vw);
	width: min(84rem, 61.493vw);
}

.nav__image {
	margin: 0 auto;
	width: min(114rem, 83.455vw);
	display: flex;
	justify-content: space-between;
}

.nav__image--item {
	width: min(36.4rem, 26.647vw);
}

@media screen and (max-width: 768px) {
	.nav__list {
		margin-bottom: 16vw;
		width: 90.933vw;
		display: block;
	}

	.nav__list--item {
		width: 100%;
	}

	.nav__list--item:not(:last-of-type) {
		margin-bottom: 8vw;
	}

	.nav__map {
		margin-bottom: 16vw;
		width: calc(100% - 3.2vw);
	}

	.nav__image {
		padding: 0 4.8vw;
		width: 100%;
		display: block;
	}

	.nav__image--item {
		width: 100%;
	}

	.nav__image--item:not(:last-of-type) {
		margin-bottom: 5.333vw;
	}

}

/* ----------------------------------------------------
	collaboration
---------------------------------------------------- */
.collaboration {
	padding: min(8rem, 5.857vw) 0 min(16rem, 11.713vw);
}

.collaboration .container {
	background-color: rgba(var(--wht), 0.7);
	margin: 0 auto;
	padding: min(9rem, 6.589vw) 0;
	width: min(114rem, 83.455vw);
	border: solid 1px rgb(var(--grn));
	border-radius: min(2.4rem, 1.757vw);
}

.collaboration__title {
	margin-bottom: min(5rem, 3.66vw);
}

.collaboration__event {
	margin-bottom: min(3rem, 2.196vw);
	line-height: normal;
	color: rgb(var(--grn));
	font-family: var(--mincho);
	font-size: min(4.6rem, 3.367vw);
	font-weight: 500;
	text-align: center;
}

.collaboration__event--small {
	font-size: min(3rem, 2.196vw);
	display: block;
}

.collaboration__image {
	margin: 0 auto min(4rem, 2.928vw);
	width: min(80rem, 58.565vw);
}

.collaboration__logo {
	margin: 0 auto min(4rem, 2.928vw);
	width: min(40rem, 29.283vw);
}

.collaboration__text {
	margin-bottom: min(5rem, 3.66vw);
	font-family: var(--mincho);
	font-size: min(2.2rem, 1.611vw);
	text-align: center;
}

.collaboration__content {
	background-color: rgb(var(--wht));
	margin: 0 auto min(1.8rem, 1.318vw);
	padding: min(1.6rem, 1.171vw) min(1.8rem, 1.318vw);
	width: min(56rem, 40.996vw);
	border: solid 1px rgb(var(--grn));
}

.collaboration__content .table {
	font-size: min(1.8rem, 1.318vw);
}

.collaboration__content .table__row {}

.collaboration__content .table__th {
	padding-right: 0.5em;
	vertical-align: top;
}

.collaboration__content .table__th--inner {
	background-color: rgb(var(--grn));
	margin-top: min(0.4rem, 0.293vw);
	width: min(6.4rem, 4.685vw);
	height: min(2.4rem, 1.757vw);
	color: rgb(var(--wht));
	display: flex;
	justify-content: center;
	align-items: center;
}

.collaboration__content .table__td {}

.collaboration .note {
	margin: 0 auto min(5rem, 3.66vw);
	width: min(56rem, 40.996vw);
}

.collaboration__state {
	margin: 0 auto min(5rem, 3.66vw);
	width: min(101rem, 73.939vw);
	display: flex;
	justify-content: space-between;
}

.collaboration__state--item {
	width: min(49.8rem, 36.457vw);
}

.collaboration .link-button {
	margin: 0 auto;
	width: min(39rem, 28.551vw);
}

@media screen and (max-width: 768px) {
	.collaboration {
		padding: 16vw 0;
	}

	.collaboration .container {
		padding: 10.667vw 4.267vw;
		width: 91.467vw;
		border-radius: 2.133vw;
	}

	.collaboration__title {
		margin-bottom: 6.4vw;
	}

	.collaboration__event {
		margin-bottom: 4.8vw;
		font-size: 7.467vw;
	}

	.collaboration__event--small {
		font-size: 5.333vw;
	}

	.collaboration__image,
	.collaboration__logo {
		margin-bottom: 8vw;
		width: 100%;
	}

	.collaboration__text {
		margin-bottom: 8vw;
		font-size: 4.267vw;
		text-align: left;
	}

	.collaboration__content {
		margin-bottom: 6.4vw;
		padding: 4vw 3.2vw;
		width: 100%;
	}

	.collaboration__content .table {
		font-size: 4vw;
	}

	.collaboration__content .table__th--inner {
		margin-top: 0.533vw;
		width: 16vw;
		height: 6.4vw;
	}

	.collaboration .note {
		margin-bottom: 8vw;
		width: 100%;
	}

	.collaboration__state {
		margin-bottom: 10.667vw;
		width: 100%;
		display: block;
	}

	.collaboration__state--item {
		width: 100%;
	}

	.collaboration__state--item:not(:last-of-type) {
		margin-bottom: 4vw;
	}

	.collaboration .link-button {
		width: 100%;
	}
}

/* ----------------------------------------------------
	message
---------------------------------------------------- */
.message {
	background-image: url(../img/top/message-bg.webp);
	padding: min(8rem, 5.857vw) 0 min(4rem, 2.928vw);
}

.message .container {
	background-color: rgb(var(--wht));
	box-shadow: min(0.4rem, 0.293vw) min(0.4rem, 0.293vw) min(1.4rem, 1.025vw) 0 rgba(0, 0, 0, 0.2);
	margin: 0 auto min(1rem, 0.732vw);
	padding: min(4rem, 2.928vw) min(8rem, 5.857vw);
	width: min(114rem, 83.455vw);
	display: flex;
	justify-content: space-between;
}

.message__content {
	width: min(63.2rem, 46.266vw);
}

.message__content--title {
	margin-bottom: min(2rem, 1.464vw);
	padding-left: min(1.6rem, 1.171vw);
	line-height: 1;
	color: rgb(var(--grn));
	font-family: var(--mincho);
	font-size: min(3.6rem, 2.635vw);
	font-weight: 500;
	border-left: solid min(0.4rem, 0.293vw) rgb(var(--grn));
}

.message__content--name {
	margin-bottom: min(1.6rem, 1.171vw);
	line-height: 1;
	color: rgb(var(--grn));
	font-size: min(3rem, 2.196vw);
	display: flex;
	align-items: baseline;
}

.message__content--name i {
	margin-right: 1em;
	font-size: min(2.4rem, 1.757vw);
}

.message__content--text {
	font-size: min(1.8rem, 1.318vw);
}

.message__image {
	width: min(30rem, 21.962vw);
}

.message .sponsor {
	margin: 0 auto;
	width: min(114rem, 83.455vw);
	line-height: normal;
	color: rgb(var(--wht));
	font-size: min(2.4rem, 1.757vw);
	text-align: right;
}

@media screen and (max-width: 768px) {
	.message {
		background-image: url(../img/top/message-bg_sp.webp);
		padding: 13.333vw 4.8vw;
	}

	.message .container {
		background-color: rgba(var(--wht), 0.9);
		box-shadow: 1.067vw 1.067vw 3.733vw 0 rgba(0, 0, 0, 0.2);
		margin-bottom: 2.667vw;
		padding: 9.6vw 4.267vw;
		width: 91.467vw;
		display: block;
	}

	.message__content {
		margin-bottom: 6.4vw;
		width: 100%;
	}

	.message__content--title {
		margin-bottom: 3.2vw;
		padding-left: 4vw;
		font-size: 7.467vw;
		border-left: solid 1.067vw rgb(var(--grn));
	}

	.message__content--name {
		margin-bottom: 3.2vw;
		font-size: 5.867vw;
	}

	.message__content--name i {
		font-size: 4.267vw;
	}

	.message__content--text {
		font-size: 4vw;
	}

	.message__image {
		margin: 0 auto;
		width: 66.667vw;
	}

	.message .sponsor {
		width: 91.467vw;
		font-size: 5.333vw;
	}
}