@charset "UTF-8";
/* CSS Document */

#sub-header {
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 10 / 1;
	min-height: 6.2rem;
	max-height: 20rem;
	max-width: 100%;
	min-width: 100%;
	font-size: clamp(2.8rem, calc(3vw / 0.8), 4.2rem);
	color: #fff;
	margin-bottom: 6rem;
	position: relative;
}

#sub-header::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.05) 66%, rgba(255, 255, 255, 0.5) 90%, rgba(255, 255, 255, 0.75) 100%);
	z-index: 5;
}

#sub-header span {
	z-index: 10;
}

#sub-header strong {
	display: block;
	font-weight: 400;
	line-height: 0.8;
	margin-bottom: 0.14em;
}

#sub-header small {
	display: block;
	font-size: 0.44em;
	font-weight: 300;
	line-height: 1.2;
}

#about #sub-header {
	background: url("/about/images/top-img.jpg") no-repeat center center;
	background-size: cover;
}

#info #sub-header {
	background: url("/info/images/top-img.jpg") no-repeat 20% 75%;
	background-size: cover;
}

#shop #sub-header {
	background: url("/shop/images/top-img.jpg") no-repeat 82% center;
	background-size: cover;
}

#contact #sub-header {
	background: url("/contact/images/top-img.jpg") no-repeat 82% 29%;
	background-size: cover;
}

#event #sub-header {
	background: url("/event/images/top-img.jpg") no-repeat 18% center;
	background-size: cover;
}

#sub-header.noBg {
	color: #000;
	height: auto;
	display: block;
	aspect-ratio: auto;
	min-height: auto;
	margin-top: 3rem;
}

#sub-header.noBg strong {
	border-bottom: solid 1px #000;
}


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

	#sub-header {
		left: -4vw;
		width: calc(100% + 8vw);
		max-width: none;
	}
}