@charset "UTF-8";
/*=======================================================
共通
=======================================================*/
.bl-ttl-set {
	display: flex;
	flex-flow: column;
	gap: 40px;
	text-align: center;
}
.el-sec-mainTtl {
	order: 2;
	font-size: 22px;
	letter-spacing: 0.88px;
}
.el-sec-subTtl {
	order: 1;
	font-size: 50px;
	letter-spacing: 3px;
	position: relative;
}
.el-sec-subTtl::after {
	position: absolute;
	content: "";
	width: 76px;
	height: 8px;
	bottom: -16px;
	left: 50%;
	transform: translateX(-50%);
	background: transparent linear-gradient(90deg, #566FFD 0%, #F566C6 100%);
}
.el-btn {
	width: 400px;
	height: 56px;
	border-radius: 30px;
	display: flex;
	margin: auto;
	justify-content: center;
	align-items: center;
	background: #17B0FF;
	color: #fff;
	font-size: 20px;
	position: relative;
}
.el-btn::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	top: 50%;
	transform: translateY(-50%);
	right: 15px;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 750px) {
    .el-sec-mainTtl {
	    font-size: 28px;
    }
    .el-sec-subTtl {
	    font-size: 80px;
    }
	.el-sec-subTtl::after {
		width: 200px;
    }
	.el-btn {
		width: 620px;
		height: 100px;
		border-radius: 60px;
		font-size: 32px;
	}
	.el-btn::after{
		right: 30px;
		border-width: 11px 0 11px 18px;
	}
}
/*=======================================================
MV
=======================================================*/
.ly-mv {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.ly-mv .bl-mv-img {
	position: absolute;
	width: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    animation: fadeInOut 20s infinite;
    transition: opacity 0.5s ease-in-out;
	display: flex;
	justify-content: center;
}
.ly-mv .bl-mv-img:first-of-type {
    position: relative;
    animation-delay: 0s;
}
.ly-mv .bl-mv-img:nth-of-type(2) {
	animation-delay: 10s;
}
@keyframes fadeInOut {
    0% { opacity: 0; }
	20% { opacity: 1; }
    50% { opacity: 1; }
	80% { opacity: 0; z-index: 0; }
    100% { opacity: 0; }
}
@media screen and (max-width: 750px) {
	.ly-mv .bl-mv-img > img {
		height: 1290px;
		object-fit: cover;
	}
}
/*=======================================================
bnr
=======================================================*/
.bl-bnr {
	padding: 80px 0 32px;
	position: relative;
}
.bl-bnr::before {
	position: absolute;
	content: "";
	background: transparent linear-gradient(90deg, #F566C6 0%, #566FFD 100%);
	width: 100%;
	height: 22px;
	left: 50%;
	transform: translateX(-50%);
    top: 0;
}
.bl-bnr-set {
	display: flex;
	flex-flow: nowrap;
	justify-content: center;
	gap: 40px;
}
.bl-bnr-set > a {
	width: 490px;
}
@media screen and (max-width: 750px) {
	.bl-bnr {
	    padding: 112px 0 56px;
    }
    .bl-bnr::before {
	    height: 56px;
    }
    .bl-bnr-set {
	    flex-flow: column;
    }
    .bl-bnr-set > a {
	    width: 100%;
    }
}
/*=======================================================
summary
=======================================================*/
.bl-summary {
	padding: 32px 0 80px;
	background: url(../images/top/summary-bg.jpg) top center / cover no-repeat;
	position: relative;
}
.bl-summary::after {
	position: absolute;
	content: "";
	background: transparent linear-gradient(270deg, #F566C6 0%, #566FFD 100%);
	width: 100%;
	height: 22px;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}
.bl-summary .el-sec-mainTtl {
	margin-bottom: 56px;
}
.bl-summary-txt {
	text-align: center;
	margin-bottom: 32px;
}
.bl-summary-info {
	width: 376px;
	background: linear-gradient(106deg,rgba(86, 111, 253, 0.5) 0%, rgba(245, 102, 198, 0.5) 100%);
	margin: 0 auto 40px;
	padding: 16px 20px;
}
.bl-summary-info-item {
	letter-spacing: 0.68px;
}
.bl-video {
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 750px) {
	.bl-summary {
		background: none;
	    padding: 56px 0 112px;
    }
    .bl-summary::after {
	    height: 56px;
    }
    .bl-summary-info {
	    width: 610px;
	    margin: 0 auto 40px;
	    padding: 32px;
    }
    .bl-summary-info-item {
	    letter-spacing: 1.12px;
    }
}
/*=======================================================
enjoy
=======================================================*/
.bl-enjoy {
	padding: 56px 0;
	background: url(../images/top/enjoy-bg.jpg) top center / cover no-repeat;
}
.bl-enjoy .bl-ttl-set {
	color: #FFF9F9;
}
.bl-enjoy .el-sec-mainTtl {
	margin-bottom: 40px;
}
.bl-enjoy .bl-card {
	padding: 0;
}
.bl-enjoy .el-card-ttl {
	color: #FFF9F9;
	font-size: 28px;
	letter-spacing: 1.68px;
	margin-bottom: 24px;
}
.bl-enjoy .el-card-ttl > span {
	font-size: 40px;
	letter-spacing: 2.4px;
	margin-right: 8px;
}
.bl-enjoy .bl-card-body {
    background-color: #FFFFFF;
	padding: 16px 24px;
}
.bl-enjoy .el-card-sub-ttl {
    text-align: center;
	font-size: 20px;
	color: #566FFD;
	letter-spacing: 0.8px;
	margin-bottom: 16px;
}
@media screen and (max-width: 750px) {
	.bl-enjoy {
	    background: url(../images/top/enjoy-bg-sp.jpg) top center / cover no-repeat;
    }
	.bl-enjoy .el-sec-mainTtl {
	    margin-bottom: 56px;
    }
	.bl-enjoy .bl-cardUnit {
        gap: 56px;
	}
    .bl-enjoy .el-card-ttl {
	    font-size: 40px;
	    letter-spacing: 2.4px;
	    margin-bottom: 32px;
    }
    .bl-enjoy .el-card-ttl > span {
	    font-size: 56px;
	    letter-spacing: 3.36px;
	    margin-right: 16px;
    }
    .bl-enjoy .bl-card-body {
	    padding: 32px 40px;
    }
    .bl-enjoy .el-card-sub-ttl {
	    font-size: 40px;
	    letter-spacing: 1.6px;
	    margin-bottom: 32px;
    }
}
/*=======================================================
cast
=======================================================*/
.bl-cast {
	padding: 80px 0;
	position: relative;
}
.bl-cast::before,
.bl-cast::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 22px;
	left: 50%;
	transform: translateX(-50%);
}
.bl-cast::before {
	background: transparent linear-gradient(90deg, #F566C6 0%, #566FFD 100%);
    top: 0;
}
.bl-cast::after {
    background: transparent linear-gradient(270deg, #F566C6 0%, #566FFD 100%);
	bottom: 0;
}
.bl-cast .el-sec-mainTtl {
	margin-bottom: 40px;
}
.bl-cast .bl-cardUnit {
	width: 912px;
	margin: auto;
}
.bl-cast .bl-card {
	padding: 0;
	width: 264px;
}
.bl-cast .bl-card-link {
	padding: 0;
}
.bl-cast .bl-card-imgWrapper {
	margin-bottom: 24px;
	position: relative;
}
.bl-cast .bl-card-imgWrapper::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	border: 1px solid #030303;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.bl-cast .el-card-ttl {
	font-size: 17px;
	letter-spacing: 0.68px;
}
@media screen and (max-width: 750px) {
	.bl-cast {
	    padding: 112px 0;
    }
    .bl-cast::before,
    .bl-cast::after {
	    height: 56px;
    }
    .bl-cast .el-sec-mainTtl {
	    margin-bottom: 56px;
    }
    .bl-cast .bl-cardUnit {
		flex-flow: wrap;
		justify-content: center;
		gap: 40px;
	    width: 100%;
    }
    .bl-cast .bl-card {
	    width: 324px;
    }
    .bl-cast .bl-card-imgWrapper {
	    margin-bottom: 32px;
    }
    .bl-cast .el-card-ttl {
	    font-size: 28px;
    }
}
/*=======================================================
foods
=======================================================*/
.bl-foods {
    background-color: #030303;
	padding: 56px 0;
}
.bl-foods .bl-ttl-set {
	color: #FFF9F9;
}
.bl-foods .el-sec-mainTtl {
	margin-bottom: 40px;
}
.bl-foods .bl-cardUnit {
	justify-content: start;
	gap: 40px 32px;
	margin-bottom: 56px;
}
.bl-foods .bl-card {
    padding: 0;
	width: 230px;
}
.bl-foods .bl-card-link {
	padding: 24px 40px;
	background-color: #FFF9F9;
}
.bl-foods .bl-card-imgWrapper {
	width: 140px;
	margin: 0 auto 16px;
}
.bl-foods .el-card-ttl {
	font-size: 20px;
	letter-spacing: 0.8px;
}
.bl-foods .el-card-ttl > span {
	font-size: 16px;
	font-weight: lighter;
}
@media screen and (max-width: 750px) {
    .bl-foods .el-sec-mainTtl {
	    margin-bottom: 56px;
    }
    .bl-foods .bl-cardUnit {
	    margin-bottom: 80px;
		justify-content: center;
		gap: 40px;
    }
    .bl-foods .bl-card {
	    width: 324px;
    }
    .bl-foods .bl-card-link {
	    padding: 32px 56px;
    }
    .bl-foods .bl-card-imgWrapper {
	    width: 212px;
	    margin: 0 auto 24px;
    }
    .bl-foods .el-card-ttl {
	    font-size: 32px;
    }
	.bl-foods .el-card-ttl > span {
	    font-size: 28px;
    }
}
/*=======================================================
stamprally
=======================================================*/
.bl-stamprally {
    padding: 80px 0;
	position: relative;
}
.bl-stamprally::before,
.bl-stamprally::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 22px;
	left: 50%;
	transform: translateX(-50%);
}
.bl-stamprally::before {
	background: transparent linear-gradient(90deg, #F566C6 0%, #566FFD 100%);
    top: 0;
}
.bl-stamprally::after {
    background: transparent linear-gradient(270deg, #F566C6 0%, #566FFD 100%);
	bottom: 0;
}
.bl-stamprally .el-sec-mainTtl {
	margin-bottom: 40px;
}
.bl-stamprally-img {
	display: flex;
	justify-content: center;
}
.bl-stamprally-img > img {
	width: 590px;
}
@media screen and (max-width: 750px) {
	.bl-stamprally {
        padding: 112px 0;
    }
    .bl-stamprally::before,
    .bl-stamprally::after {
	    height: 56px;
    }
	.bl-stamprally .el-sec-mainTtl {
	    margin-bottom: 56px;
    }
    .bl-stamprally-img > img {
	    width: 100%;
    }
}
/*=======================================================
map
=======================================================*/
.bl-map {
	padding: 56px 0;
	background: url(../images/top/map-bg.jpg) top center / cover no-repeat;
}
.bl-map .bl-ttl-set {
	color: #FFF9F9;
}
.bl-map .el-sec-mainTtl {
	margin-bottom: 40px;
}
.bl-map-img {
	width: 590px;
	margin: auto;
}
@media screen and (max-width: 750px) {
	.bl-map {
	    background: url(../images/top/map-bg-sp.jpg) top center / cover no-repeat;
    }
    .bl-map .el-sec-mainTtl {
	    margin-bottom: 56px;
    }
    .bl-map-img {
	    width: 100%;
    }
}
/*=======================================================
schedule
=======================================================*/
.bl-schedule {
	padding: 80px 0;
	position: relative;
}
.bl-schedule::before,
.bl-schedule::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 22px;
	left: 50%;
	transform: translateX(-50%);
}
.bl-schedule::before {
	background: transparent linear-gradient(90deg, #F566C6 0%, #566FFD 100%);
    top: 0;
}
.bl-schedule::after {
    background: transparent linear-gradient(270deg, #F566C6 0%, #566FFD 100%);
	bottom: 0;
}
.bl-schedule .el-sec-mainTtl {
	margin-bottom: 40px;
}
.bl-schedule .el-att {
	display: flex;
	justify-content: center;
	margin-bottom: 16px;
}
.bl-schedule-img {
	width: 590px;
	margin: auto;
}
@media screen and (max-width: 750px) {
	.bl-schedule {
	    padding: 112px 0;
    }
    .bl-schedule::before,
    .bl-schedule::after {
	    height: 56px;
    }
    .bl-schedule .el-sec-mainTtl {
	    margin-bottom: 56px;
    }
    .bl-schedule .el-att {
	    justify-content: start;
	    margin-bottom: 24px;
    }
    .bl-schedule-img {
	    width: 100%;
    }
}
/*=======================================================
info
=======================================================*/
.bl-info {
    background-color: #030303;
	padding: 56px 0;
}
.bl-info .bl-ttl-set {
	color: #FFF9F9;
}
.bl-info .bl-cardUnit {
	justify-content: center;
	gap: 32px;
	margin-bottom: 56px;
}
.bl-info .bl-card {
    width: 460px;
	padding: 0;
}
.bl-info .bl-card-imgWrapper {
	margin-bottom: 24px;
}
.bl-info .el-card-ttl {
	color: #17B0FF;
	font-size: 20px;
	letter-spacing: 0.8px;
}
.bl-info .el-card-txt {
	color: #FFFFFF;
}
@media screen and (max-width: 750px) {
    .bl-info .bl-cardUnit {
	    gap: 40px;
	    margin-bottom: 80px;
    }
    .bl-info .bl-card {
        width: 100%;
    }
    .bl-info .bl-card-imgWrapper {
	    margin-bottom: 32px;
    }
    .bl-info .el-card-ttl {
	    font-size: 32px;
    }
}
/*=======================================================
supported
=======================================================*/
.bl-supported {
    padding: 56px 0;
}
.bl-supported .el-sec-mainTtl {
	margin-bottom: 40px;
}
.bl-supported .bl-cardUnit {
    gap: 60px;
	justify-content: center;
}
.bl-supported .bl-card-link {
    padding: 0;
}
.bl-supported .bl-card {
	width: 384px;
}
@media screen and (max-width: 750px) {
    .bl-supported .el-sec-mainTtl {
	    margin-bottom: 56px;
    }
    .bl-supported .bl-cardUnit {
        gap: 40px;
    }
    .bl-supported .bl-card {
	    width: 400px;
    }
}
/*=======================================================
sponsors
=======================================================*/
.bl-sponsors {
    padding: 56px 0;
	background-color: #FFE9F8;
}
.bl-sponsors .el-sec-mainTtl {
	margin-bottom: 40px;
}
.el-sponsors-txt {
	text-align: center;
	margin-bottom: 32px;
}
.bl-sponsors .bl-cardUnit {
    gap: 60px;
	justify-content: center;
}
.bl-sponsors .bl-card-link {
    padding: 0;
}
.bl-sponsors .bl-card {
	width: 264px;
}
.bl-sponsors .el-card-ttl {
	font-size: 17px;
}
@media screen and (max-width: 750px) {
    .bl-sponsors .el-sec-mainTtl {
	    margin-bottom: 56px;
    }
    .bl-sponsors .bl-cardUnit {
        gap: 40px;
    }
    .bl-sponsors .bl-card {
	    width: 324px;
    }
	.bl-sponsors .el-card-ttl {
	    font-size: 28px;
    }
}
/*=======================================================
cooperation
=======================================================*/
.bl-cooperation {
    padding: 56px 0 80px;
	position: relative;
}
.bl-cooperation::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 22px;
	left: 50%;
	transform: translateX(-50%);
}
.bl-cooperation::after {
    background: transparent linear-gradient(270deg, #F566C6 0%, #566FFD 100%);
	bottom: 0;
}
.bl-cooperation .el-sec-mainTtl {
	margin-bottom: 40px;
}
.el-cooperation-txt {
	text-align: center;
	margin-bottom: 32px;
}
.bl-cooperation .bl-cardUnit {
    gap: 60px;
	justify-content: center;
}
.bl-cooperation .bl-card-link {
    padding: 0;
}
.bl-cooperation .bl-card {
	width: 264px;
}
.bl-cooperation .el-card-ttl {
	font-size: 17px;
}
@media screen and (max-width: 750px) {
	.bl-cooperation {
        padding: 56px 0 112px;
    }
    .bl-cooperation::after {
	    height: 56px;
    }
	.bl-cooperation .el-sec-mainTtl {
	    margin-bottom: 56px;
    }
    .bl-cooperation .bl-cardUnit {
        gap: 40px;
    }
    .bl-cooperation .bl-card {
	    width: 324px;
    }
	.bl-cooperation .el-card-ttl {
	    font-size: 28px;
    }
}