@charset "UTF-8";

#loading{
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background: var(--pale);
	text-align: center;
	color: #fff;
}
#loadingLogo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#loadingLogo img{
	width: 250px;
}
@media screen and (max-width: 768px){
	#loadingLogo img{
		width: 200px;
	}
}

/* mainVisual */

.mainVisualWrap{
	grid-row: main;
	width: 100vw;
	height: auto;
	aspect-ratio: 16/8.5;
	position: relative;
}
.mainVisualWrap::before{
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(255,255,255,0) 0%, rgba(36,35,35,0.1) 20%, rgba(36,35,35,0.2) 80%, rgba(36,35,35,0.7) 100%);
	z-index: 3;
}
.mainVisual{
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}
.swiper-wrapper,
.swiper-slide>div{
	width: 100%;
	height: 100%;
}
.swiper-slide img{
	position: absolute;
	object-fit: cover;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
@keyframes zoomUp{
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.15);
	}
}
.swiper-slide-active>div, .swiper-slide-duplicate-active>div, .swiper-slide-prev>div{
	animation: zoomUp 10s linear 0s 1 normal both;
}

.mainCopy,
.mainNews,
.mainWave,
.mainDP{
	position: absolute;
}
.mainCopy{
	width: 550px;
	top: 42%;
	left: 50%;
	transform: translate(-50%, -42%);
	z-index: 7;
}
.logo50th{
	position: absolute;
	width: 130px;
	top: 70px;
	right: 70px;
	z-index: 7;
}
.logo50th img{
	width: 100%;
}
.mainCopy,
.mainCopyInner{
	height: auto;
	aspect-ratio: 822 / 459;
	overflow: hidden;
}
.mainCopyInner{
	width: 100%;
	display: block;
	background: url("../img/index/mainCopy.webp") no-repeat top center / 100%;
	text-indent: -9999px;
	animation: copyAnime 2s steps(2) infinite;
}
.mainCopyInner{
	width: 100%;
	display: block;
	background: url("../img/index/mainCopy.webp") no-repeat top center / 100%;
	text-indent: -9999px;
	animation: copyAnime 2s steps(2) infinite;
}
@keyframes copyAnime{
    to {
        background-position: center 200%;
    }
}
@media screen and (max-width: 768px){
	.mainCopy{
		width: 84%;
		top: 40%;
	}
}

.mainNews{
	height: 170px;
	bottom: 15%;
	left: 8%;
	background: url("../img/index/mainNewsHibakichi.webp") no-repeat 25px top / 170px;
	animation: newsAnimePC 2s steps(2) infinite;
	z-index: 5;
}
@keyframes newsAnimePC{
    to {
        background-position: 25px 200%;
    }
}
.mainNewsInner{
	background: #fff;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 18px;
	padding: 10px 14px 10px 24px;
	box-sizing: border-box;
	line-height: 1rem;
	margin-top: 84px;
}
.mainNewsInner li img{
	width: 96px;
	padding-top: 2px;
}
.mainNewsDetail{
	width: 450px;
	font-size: 0.8675em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.mainNewsDetail a{
	color: #242323;
	font-weight: 400;
	text-decoration: none;
}
.mainNewsDetail a span:first-child{
	color: var(--dark);
	font-family: var(--futura);
	font-weight: 600;
	margin-right: 10px;
}
.mainNewsAll{
	background: var(--base);
	border-radius: 20px;
	position: relative;
	padding: 2px 23px 4px 17px;
	box-sizing: border-box;
	transition: 0.8s;
}
.mainNewsAll:hover{
	background: var(--bright);
	cursor: pointer;
}
.mainNewsAll a{
	color: #fff;
	font-size: 0.725em;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-decoration: none;
	white-space: nowrap;
}
.mainNewsAll a::after{
	content: "";
	display: inline-block;
	--s: 2px;
	height: 8px;
	aspect-ratio: 5/7;
	clip-path: polygon(0 0,var(--s) 0,100% 50%,var(--s) 100%,0 100%,calc(100% - var(--s)) 50%);
	background: #fff;
	position: absolute;
	right: 12px;
	top: 9px;
	transition: 0.3s;
}
.mainDP{
	width: 240px;
	bottom: 19%;
	right: 8%;
	z-index: 6;
	transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}
.mainDP img{
	width: 100%;
}
.mainDP:hover{
	transform: scale(1.05) rotate(3deg);
}
.mainWave{
	width: 100%;
	height: auto;
	aspect-ratio: 2480 / 866;
	background: url("../img/index/mainWave.webp") no-repeat bottom center / 100%;
	bottom: -10px;
	z-index: 4;
}
@media screen and (max-width: 1700px){
	.mainVisualWrap{
		aspect-ratio: 16/9;
	}
	.mainNews{
		bottom: 14%;
		left: 7%;
	}
	.mainDP{
		bottom: 18%;
		right: 7%;
	}
}
@media screen and (max-width: 1600px){
	.mainVisualWrap{
		aspect-ratio: 16/9.5;
	}
	.mainNews{
		bottom: 13%;
	}
	.mainDP{
		bottom: 17%;
	}
}
@media screen and (max-width: 1500px){
	.mainVisualWrap{
		aspect-ratio: 4.8/3;
	}
}
@media screen and (max-width: 1400px){
	.mainVisualWrap{
		aspect-ratio: 4.4/3;
	}
	.mainNews{
		bottom: 12%;
		left: 5%;
	}
	.mainDP{
		bottom: 15%;
		right: 5%;
	}
}
@media screen and (max-width: 1300px){
	.mainVisualWrap{
		aspect-ratio: 4.25/3;
	}
	.mainCopy{
		width: 530px;
		top: 36%;
		transform: translate(-50%, -36%);
	}
	.mainNews{
		left: 4%;
	}
	.mainDP{
		right: 4%;
	}
}
@media screen and (max-width: 1200px){
	.mainVisualWrap{
		aspect-ratio: 4/3;
	}
	.mainNews{
		bottom: 11%;
		left: 3%;
	}
	.mainDP{
		width: 220px;
		bottom: 14%;
		right: 3%;
	}
	.logo50th{
		width: 110px;
		top: 50px;
		right: 30px;
	}
}
@media screen and (max-width: 1100px){	
	.mainNewsDetail{
		width: 420px;
	}
	.mainDP{
		width: 210px;
		bottom: 15%;
	}
}
@media screen and (max-width: 1000px){
	.mainCopy{
		width: 500px;
		top: 36%;
		transform: translate(-50%, -36%);
	}
	.mainNews{
		bottom: 10%;
	}	
	.mainNewsInner{
		gap: 16px;
		padding: 8px 14px 8px 24px;
	}
	.mainNewsDetail{
		width: 380px;
	}
}
@media screen and (max-width: 950px){
	.mainCopy{
		width: 470px;
	}
	.mainNews{
		bottom: 10%;
	}	
	.mainNewsDetail{
		width: 350px;
	}
	.mainDP{
		width: 190px;
		bottom: 15%;
	}
}
@media screen and (max-width: 880px){
	.mainCopy{
		width: 50%;
	}
	.mainNews{
		bottom: 9%;
		left: 1%;
	}
	.mainNewsInner{
		gap: 12px;
		padding: 8px 14px 8px 18px;
	}
	.mainNewsInner li img{
		width: 90px;
		padding-top: 2px;
	}
	.mainNewsDetail{
		width: 330px;
	}
	.mainDP{
		width: 180px;
		right: 2%;
	}
}
@media screen and (max-width: 768px){
	.mainNews{
		height: 120px;
		background: url("../img/index/mainNewsHibakichi.webp") no-repeat 15px top / 120px;
		animation: newsAnimeSP 2s steps(2) infinite;
	}
	.mainNewsInner{
		gap: 0 10px;
		padding: 12px 30px 12px 26px;
		margin-top: 80px;
		display: grid;
		grid-template-columns: 25% 75%;
		grid-template-rows: auto auto;
		grid-template-areas:
		  "image detail"
		  "all detail";
	}
	.mainNewsInner li:first-child{
		grid-area: image;
		text-align: center;
	}
	.mainNewsDetail{
		grid-area: detail;
		grid-row: 1 / span 2;
		width: auto;
		box-sizing: border-box;
		height: 100%;
		display: flex;
		align-items: center;
	}
	.mainNewsInner li:last-child{
		grid-area: all;
	}
	.mainNewsInner li img{
		width: 92%;
		margin: -4px 0 2px;
	}
	.mainNewsDetail a{
		display: block;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.mainNewsDetail a span:first-child{
		display: block;
		margin-bottom: 5px;
		text-decoration: none;
		font-size: 1.075em;
	}
	.mainNewsDetail a span:last-child{
		font-size: 1.1em;
	}
	.mainNewsAll{
		padding: 3px 5px 4px 0;
		line-height: 0.9em;
		text-align: center;
		margin: 0 5px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.mainNewsAll a{
		font-size: 0.675em;
		padding: 0;
	}
	.mainNewsAll a::after{
		--s: 1.5px;
		height: 7px;
		right: 7px;
		top: calc( 50% - 4px );
	}
	
/* 768 landscape */
	
	@media (orientation: landscape){
		.mainNews{
			bottom: 19%;
			width: 65%;
		}
		.mainDP{
			width: 170px;
			bottom: 13%;
		}
	}
	
/* 768 portrait */
	
	@media (orientation: portrait){
		.mainVisualWrap{
			aspect-ratio: 3/4.5;
		}
		.mainCopy{
			width: 82%;
			top: 45%;
			transform: translate(-50%, -45%);
		}
		.mainNews{
			bottom: 16%;
			left: 10px;
		}
		.mainNewsInner{
			width: calc( 100% - 10px );
		}
		.mainDP{
			width: clamp(6.875rem, 3.297rem + 15.27vw, 10.625rem);
			bottom: 18%;
			right: 13px;
		}
		.mainWave{
			width: 100%;
			height: auto;
			bottom: -15px;
			aspect-ratio: 869 / 735;
			background: url("../img/index/mainWaveTB.webp") no-repeat bottom center / 100%;
			z-index: 4;
		}
		.logo50th{
			width: 110px;
			top: 100px;
			right: 50px;
		}
	}
}
@media screen and (max-width: 600px){
	@media (orientation: landscape){
		.mainDP{
			width: 140px;
		}
	}
}
@media screen and (max-width: 600px){
	.logo50th{
		width: 80px;
		top: 77px;
		right: 25px;
	}
}
@media screen and (max-width: 450px){
		.mainWave{
			background: url("../img/index/mainWaveSP.webp") no-repeat bottom center / 100%;
		}
		.mainNewsInner{
		gap: 0 5px;
		padding: 12px 25px 12px 21px;
		grid-template-columns: 26% 74%;
	}
}
@media screen and (max-width: 350px){
	.mainNewsInner{
		gap: 0 3px;
		padding: 12px 23px 12px 19px;
		grid-template-columns: 29% 71%;
	}
}
@keyframes newsAnimeSP{
    to {
        background-position: 15px 200%;
    }
}
@media screen and (max-width: 450px){
	.logo50th{
		width: 70px;
		top: 60px;
		right: 15px;
	}
}