@charset "utf-8";
:root .ttl-set{
	display:flex;
	flex-direction:column;
	font-size:1.375rem;
	font-weight:700;
	margin-bottom:2.0em;
	gap: 0.25em;
	letter-spacing: 0.01em;
}
:root .ttl-set [lang="ja"]{
	font-size:2.909em;
	letter-spacing:0.03em;
	font-feature-settings:normal;
	line-height:1.75;
}
:root .sub-ttl{
	font-size:1.75rem;
	font-weight: 700;
	color:var(--accent);
	margin-block: 1.25em;
}


/* home
-------------------------------------------------------------------*/
body.home .kv-container{
	overflow:visible;
	position: relative;
	z-index:1;

}
body.home .kv-container hgroup{
	position:absolute;
	display:flex;
	z-index:5;
	align-items: center;
	justify-content:center;
	flex-direction:column;
	margin:auto;
	inset:0;
	width:fit-content;
	gap:1em;
}
body.home .kv-container hgroup h1{
	font-size:2.655rem;
	font-weight:900;
	position:relative;
	z-index:2;
	padding:0em 0.5em 0.15em;
	display:flex;
	align-items:center;
	line-height:1.25;
	letter-spacing:0.03em;
}
body.home .kv-container hgroup h1 em{
	color:var(--accent);
}
body.home .kv-container hgroup h1 b ~ em{
	margin-right:0.25em;
}
body.home .kv-container hgroup h1:after{
	content:"";
	display:block;
	inset:0 -5em 0 0;
	position:absolute;
	z-index:-1;
	background: #FFF;
	background: linear-gradient(90deg, rgba(255, 255, 255, 1) 65%, rgba(255, 255, 255, 0) 92.5%);
	transform:skewX(-15deg)
}
body.home .kv-container hgroup h1 b{
	font-size:1.393em;
	margin-inline:0.1em;
}
body.home .kv-container hgroup p{
	font-size: 8.234rem;
	display:flex;
	flex-direction:column;
	line-height:0.9;
	align-items:center;
	color: transparent;
	font-weight:700;
	-webkit-text-stroke: 2.5px white;
	paint-order: stroke fill;
	text-transform:uppercase;
	font-style:italic;
	letter-spacing: -0.03em;

}
body.home .kv-container hgroup p span:last-child{
	/* margin-left:0.5em; */

}
body.home .kv-container .bg{
	display:flex;
	max-width:var(--wide);
	margin-inline:auto;
	overflow:hidden;
	--height:970px;
	height:var(--height);
}
body.home .kv-container .bg .wrap{
	flex-basis:50%;
	height: 100%;
	position: relative;

}
body.home .kv-container .bg .wrap .scroll-inner {
	display: flex;
	flex-direction:column;
	height:var(--height);
	
}
body.home .kv-container .bg .wrap .scroll-inner span{
	display:block;
}
body.home .kv-container .bg .wrap img{
	height:var(--height);
	object-fit:cover;
	display: block;
	filter: brightness(0.9);
}
body.home .kv-container .left .scroll-inner {
	animation: scroll-up 12s infinite;
}
body.home .kv-container .right .scroll-inner {
	animation: scroll-down 12s infinite;
}
@keyframes scroll-down {
  0%, 25%      { transform: translateY(0); }
  33.3%, 58.3% { transform: translateY(-100%); }
  66.6%, 91.6% { transform: translateY(-200%); }
  100%         { transform: translateY(-300%); }
}

@keyframes scroll-up {
  0%, 25%      { transform: translateY(-300%); }
  33.3%, 58.3% { transform: translateY(-200%); }
  66.6%, 91.6% { transform: translateY(-100%); }
  100%         { transform: translateY(0); }
}
body.home .section{
	padding-block: 5.25em;
}
body.home .section#about .ttl-set{
	justify-content: center;
	align-items: center;
}
body.home .section#about .about-text{
	text-align: center;
	font-size: 1.25rem;
	line-height: 2;
	font-weight: 500;
	margin-bottom: 1em;
}

body.home .section#information{
	padding-top:0;
	position:relative;
	z-index:5;
	margin-bottom:7.5em;
}
body.home .section#information .text{
	margin-bottom:3em;
}
body.home .section#information .inner{
	max-width: 590px;
}
body.home .section#information .ttl-set {
	padding-block: 2em 0.5em;
	gap:0.75em;
}
body.home .section#information .text{
	margin-bottom:3em;
}
body.home .section#information .bg-01{
	position:absolute;
	left:calc(50% + 4em);
	top:0;
	z-index:-1;
}
body.home .section#information .bg-01 .wrap img{
	min-height:584px;
	object-fit:cover;
}
body.home .section#information .bg-02{
	position:absolute;
	bottom:0;
	z-index:-1;
	transform:translateX(calc(-100% - 4em));
}
body.home .section#spectators-guide{
	background:url(../img/top/spectators_bg02.jpg) no-repeat top right var(--accent);
	color:#fff;
	position:relative;
	z-index:5;
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-between;
	overflow:hidden;
	padding-block:0;
}
body.home .section#spectators-guide .ttl-set [lang="ja"]{
	line-height: 1.4;
}
body.home .section#spectators-guide .inner{
	display:flex;
	flex-direction:column;
	text-align:left;
	justify-content:center;
	padding: 4em;
	margin-inline:auto;
	flex-grow: 1;
	max-width: 750px;
}
body.home .section#spectators-guide .ttl-set{
	margin-bottom:1.5em;
}
body.home .section#spectators-guide .bg{
	flex-grow:1;
	max-width:1000px;
	min-height: 688px;
}
body.home .section#spectators-guide .bg img{
	opacity:0.8;
	height:100%;
	object-fit:cover;
	max-width:inherit;
}
body.home .section#spectators-guide .bg .label{
	font-weight:800;
	font-size:11.4rem;
	text-transform: uppercase;
	writing-mode: vertical-rl; 
}
body.home .section#spectators-guide .left-area .label{
	position:absolute;
	z-index:1;
	top:0.125em;
	left:0.125em;
}
body.home .section#spectators-guide .right-area{
	position:absolute;
	z-index:1;
	top:-4.0em;
	right:0.25em;
}
body.home .section#spectators-guide .right-area .label{
	opacity:0.05;
}
body.home .section#tourist-guide{
	padding-block:8.5em 5em;
	position:relative;
	z-index:5;
}
body.home .section#tourist-guide:after{
	content:"";
	display:block;
	position:absolute;
	inset:28.0% 0 0 24.25%;
	background:var(--gray);
	z-index:-1;
}
body.home .section#tourist-guide .ttl-set{
	margin-bottom: 2em;
}
body.home .section#tourist-guide .lead_text{
	margin-bottom: 6em;
}

body.home #spectators-guide .rotate-image {
	display: flex;
	width: 52.5%;
	z-index: -1;
	justify-content: space-between;
	gap: 1.5em;
	opacity:0.8;
}
body.home #spectators-guide .rotate-image .rotateitem {
	width: calc(50% - 0.75em);
	max-width: 492px;
	position:relative;
}
body.home #spectators-guide .rotate-image .rotateitem .imgs {
	position: absolute;
	top: 0;
	width: 100%;
	animation: top-bottom 50s linear infinite;
	transform: translateY(0);
	max-width: 492px;
}
body.home #spectators-guide .rotate-image .rotateitem .imgs:last-of-type {
	animation-name: top-bottom02;
	transform: translateY(100%);
}
body.home #spectators-guide .rotate-image .rotateitem .imgs span {
	display: inline-block;
	overflow: hidden;
	margin-bottom: 1em;
}

body.home #spectators-guide .rotate-image .rotateitem:nth-of-type(even) .imgs {
	animation-name: bottom-top;
	transform: translateY(0);
}
body.home #spectators-guide .rotate-image .rotateitem:nth-of-type(even) .imgs:last-of-type {
	animation-name: bottom-top02;
	transform: translateY(100%);
}
@keyframes top-bottom {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(100%);
	}
}
@keyframes top-bottom02 {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes bottom-top {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes bottom-top02 {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-100%);
	}
}
@media (max-width:1240px) {
	body.home .kv-container hgroup h1{
		font-size:2.25rem;
	}
	body.home .kv-container hgroup p{
		font-size: 7.5rem;
	}
	body.home section#place .style-archive{
		padding-inline:var(--inner)
	}
	body.home section#place .style-archive ul{
		margin-inline:auto;
		background:none;
		gap:4em 6%;
		margin-bottom: 2em;
		flex-wrap:wrap;
		background:none;
		justify-content:center;
	}
	body.home section#place .style-archive ul li{
		flex-basis:47%;
		max-width:470px;
	}
	body.home section#place .style-archive ul li a{
		box-shadow: 0.25em 0.25em 0.75em rgba(0, 0, 0, 0.15);
	}
	body.home .section#information .inner{
		max-width:500px;
	}
	body.home .section#information .bg-01 .wrap img{
		min-height:auto;
	}
	body.home .section#information .bg-01{
		left: calc(500px + 6em);
	}
	body.home .section#information .bg-02{
		transform:none;
		aspect-ratio:300 / 454;
		overflow:hidden;
		width:22.5%;
		right:5%;
		bottom:auto;
		top:60%;
	}
	body.home .section#spectators-guide .bg .label{
		font-size:8.5rem;
	}
}
@media (max-width:980px) {
	body.home .section#information .sitewrap{
		display:flex;
		flex-direction:column;
	}
	body.home .section#information .inner{
		max-width:100%;
		padding-right:25%;
	}
	body.home .section#information .bg-01 .wrap img{
		min-height:auto;
	}
	body.home .section#information .bg-01{
		position:relative;
		order:-1;
		left: var(--outer);
	}
	body.home .section#information .bg-02{
		position:absolute;
		width: 20%;
		top:auto;
		bottom:0;
	}
	body.home .section#spectators-guide .bg{
		min-height:516px;
	}
	body.home .section#spectators-guide .inner{
		max-width:66.6%
	}
	body.home #spectators-guide .rotate-image{
		width:66.6%;
		position:absolute;
		left:-33.3%;
	}
}
@media (max-width:767px) {
	:root .ttl-set{
		font-size:1.25rem;
		margin-bottom:2.75em;
	}
	:root .ttl-set [lang="ja"]{
		font-size:1.66em;
	}
	:root .sub-ttl{
		font-size:1.5rem;
		margin-block: 1.25em;
	}
	body.home .kv-container{
		height:500px;	
	}
	body.home .kv-container hgroup h1{
		font-size:1.25rem;
		padding:0em 0.5em 0.15em;
	}
	body.home .kv-container hgroup h1:after{
		inset:0 -1.5em 0 0;
		background: linear-gradient(90deg, rgba(255, 255, 255, 1) 90%, rgba(255, 255, 255, 0) 100%);
	}
	body.home .kv-container hgroup h1 b{
		font-size:1.393em;
		margin-inline:0.1em;
	}
	body.home .kv-container hgroup p{
		font-size:3.65rem;
		-webkit-text-stroke: 2.0px white;
	}
	body.home .kv-container hgroup p span:last-child{
		/* margin-left:0.15em; */
	}
	body.home .kv-container .bg{
		flex-direction:column;
		height:500px;
	}
	body.home .kv-container .bg .wrap{
		flex-basis:100%;
		height:250px;
	}
	body.home .kv-container .bg .wrap img{
		height: 37.5vh;
		max-width: inherit;
		width:100svw;
	}
	body.home .kv-container .bg .wrap .scroll-inner{
		flex-direction:row;
		height:250px;
		width:100svw;
	}
	body.home .kv-container .bg .wrap .scroll-inner span{
		flex:1;
	}
	@keyframes scroll-down {
		0%, 25%      { transform: translateX(0); }
		33.3%, 58.3% { transform: translateX(-100%); }
		66.6%, 91.6% { transform: translateX(-200%); }
		100%         { transform: translateX(-300%); }
	}
	
	@keyframes scroll-up {
		0%, 25%      { transform: translateX(-300%); }
		33.3%, 58.3% { transform: translateX(-200%); }
		66.6%, 91.6% { transform: translateX(-100%); }
		100%         { transform: translateX(0); }
	}
	body.home .kv-container .bg .wrap:nth-child(2) img{
		object-position:top;
	}
	body.home .section#about{
		padding-block: 2em 0;
	}
	body.home .section#about .about-text{
		text-align: left;
		font-size: 1.125rem;
		line-height: 1.8;
		margin-bottom: 1em;
	}
	body.home .section{
		padding-block: 3.75em;
	}
	body.home section#place .style-archive{
		padding-inline: calc(var(--inner) * 1);
	}
	body.home section#place .style-archive ul{
		gap:3em 0;
		margin-bottom: 2em;
	}
	body.home section#place .style-archive ul li{
		flex-basis:100%;
		max-width:470px;
	}
	body.home .section#information{
		padding-top:0;
		position:relative;
		z-index:5;
		margin-bottom: 0em;
	}
	body.home .section#information .inner{
		padding:0;
		text-align:center;
	}
	body.home .section#information .inner .btn{
		margin:2em auto 4em;
	}
	body.home .section#information .ttl-set {
		padding-block: 2em 0em;
		gap:0.25em;
	}
	body.home .section#information .text{
		margin-bottom:3em;
	}
	body.home .section#information .bg-01{
	}
	body.home .section#information .bg-01 .wrap img{
		min-height:auto;
	}
	body.home .section#information .bg-02{
		position:static;
		width:40%;
		aspect-ratio:auto;
		margin-inline:auto var(--outer);
	}
	body.home .section#spectators-guide .inner{
		padding: 5em var(--inner) 2em;
	}
	body.home .section#spectators-guide .ttl-set{
		margin-bottom:1.5em;
	}
	body.home .section#spectators-guide .bg{
		min-height: 344px;
	}
	body.home #spectators-guide .rotate-image {
		width: 100%;
		position: absolute;
		left: -67.5%;
	}
	body.home .section#spectators-guide .bg .label{
		font-size:6rem;
	}
	body.home .section#spectators-guide .left-area{
		position:relative;
	}
	body.home .section#spectators-guide .right-area{
		top:0.25em;
		right:0.25em;
	}
	body.home .section#tourist-guide{
		padding-block:5em 5em;
	}
	body.home .section#tourist-guide:after{
		inset:28.0% 0 0 24.25%;
	}
	body.home .section#tourist-guide .ttl-set{
		margin-bottom: 2em;
	}
	body.home .section#tourist-guide .lead_text{
		margin-bottom: 2em;
	}
}