@charset "utf-8";
.overlay {
		display: none;
}
body.no_scroll {
		height: 100vh !important;
		overflow: hidden;
}
.page_container {
		overflow: hidden;
}
.loading_base {
		background: #474B50;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 5000;
		display: flex;
		justify-content: center;
		align-items: center;
}
.loading_logo {
		width: 80px;
}
.loading_logo img {
		width: 100%;
		height: auto;
}
.loading_base p {
		font-size: 16px;
		color: #fff;
		font-family: YuMincho, 'Noto Serif JP', 'Yu Mincho', serif;
		transform: translateY(-20px);
		opacity: 0.2;
		animation: fadeInLoading 1s linear forwards;
}
@keyframes fadeInLoading {
		0% {
				opacity: 0.2;
				filter: blur(2px);
		}
		100% {
				opacity: 1;
				filter: blur(0px);
		}
}
.loading_base p span.unit {
		font-size: 10px;
		margin-left: 2px;
}
.hero_section {
		position: relative;
		min-height: 600px;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: center;
}
.hero_catch {
		font-family: 'Jost', sans-serif;
		font-size: 250px;
		letter-spacing: 0em;
		line-height: 1;
		position: relative;
		top: -30px;
}
@media(max-width: 1440px) {
		.hero_catch {
				font-size: 220px;
		}
}
@media(max-width: 1200px) {
		.hero_catch {
				font-size: 160px;
		}
}
@media(max-width: 767px) {
		.hero_section {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				box-sizing: border-box;
				padding: 0 0 0 8vw;
		}
		.hero_catch {
				font-size: 18.8vw;
		}
}
@media(max-width: 1024px) {
		.hero_section {
				max-height: 200vw;
		}
}
.item_section_inner {
		text-align: center;
		max-width: 400px;
		margin: 0 auto;
		padding: 0 5vw;
}
.item_section_inner h2 {
		font-size: 17px;
		font-family: 'Libre Baskerville', serif;
		font-weight: 400;
		font-style: italic;
		letter-spacing: 0.02em;
		margin: 0 0 20px;
}
.item_section_bnr img {
		width: 100%;
		height: auto;
		transition: 0.5s opacity;
}
@media (hover: hover) {
		.item_section_bnr a:hover img {
				opacity: 0.7;
		}
}
/* ===== Loading Start  ===== */
header h1 {
		transition: opacity 2.5s;
		opacity: 0;
		transition-delay: 0.5s;
}
header.start h1 {
		opacity: 1;
}
.hero_section::before {
		transform: scale(1.05);
		opacity: 0;
		filter: blur(6px);
		transition: transform 2.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 2.5s, filter 2.5s;
}
.hero_section.start::before {
		transform: scale(1);
		opacity: 1;
		filter: blur(0px);
}
.top_news_line {
		transition: opacity 2.5s;
		opacity: 0;
		transition-delay: 0.8s;
}
.hero_section.start .top_news_line {
		opacity: 1;
}
.global_nav li {
		opacity: 0;
		transform: translateX(-50px);
		transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), opacity 1s;
}
footer {
		transition: opacity 2.5s;
		opacity: 0;
		transition-delay: 1s;
}
footer.start {
		opacity: 1;
}
.global_nav ul li:nth-child(1) {
		transition-delay: 0.3s;
}
.global_nav ul li:nth-child(2) {
		transition-delay: 0.5s;
}
.global_nav ul li:nth-child(3) {
		transition-delay: 0.7s;
}
.global_nav ul li:nth-child(4) {
		transition-delay: 0.9s;
}
.global_nav ul li:nth-child(5) {
		transition-delay: 1.1s;
}
.global_nav ul li:nth-child(6) {
		transition-delay: 1.3s;
}
.global_nav ul li:nth-child(7) {
		transition-delay: 1.5s;
}
.global_nav ul li:nth-child(8) {
		transition-delay: 1.7s;
}
.global_nav.start li {
		transform: translateX(0);
		opacity: 1;
}