@charset "utf-8";
div {
	box-sizing:border-box;
}
.loading_bg-1 {
		background-image: url("../topimg/top_img01.jpg");
}

.fv_section_wrap {
 position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 200;
	background:#555;
}
.fv_section_wrap.off {
		z-index: 0;
}
.fv_section {
   position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	background-image: url("../topimg/top_img.jpg");
	background-repeat:no-repeat;
    background-size: cover;
}

.fv_section .swiper-slide {
		position: relative;
		z-index: 1;
		opacity: 0;
		transition: opacity 0.5s;
		clip: rect(auto, auto, auto, auto);
}
.fv_first {

    height: 100vh;
    /* モバイル対応の追加 */
    min-height: 100vh;
    min-height: 100svh; /* Safari用の新しい単位 */
    min-height: 100dvh; /* 動的ビューポート高さ */
}
.fv_first .box{
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    position: relative;
}
.fv_first .box .text {
    width: 90%;
    max-width: 500px;
    position: absolute;
    color: #fff;

    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.fv_first .box .text {
    width: 100%;
    max-width: 800px;
    position: absolute;
    color: #fff;
	padding:0;
	box-sizing:border-box;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.fv_first .box .text h2{
    font-size:3em;
	font-family: "Zen Old Mincho", serif;
  font-weight: 400;
	padding-bottom:50px;
	letter-spacing:20px;
}
.fv_first .box .text p{
    font-size:1.1em;
	font-family: "Zen Old Mincho", serif;
  font-weight: 400;
	line-height:2.5;
}
.fv_first .box .text p img{
    width:100%;
	height:auto;
	text-align:center;
}
.fv_section .swiper-slide-active {
		opacity: 1;
		filter: brightness(120%);
		animation: flushOn 1.4s ease-out forwards;
		animation-delay: 0.5s;
}

@keyframes flushOn {
		0% {
				filter: brightness(120%);
		}
		20% {
				filter: brightness(120%);
		}
		100% {
				filter: brightness(100%);
		}
}
@media(max-width: 1440px) {
		.top_header_logo {
				left: 30px;
				width: 5vw;
				min-width: 60px;
		}
}
@media(max-width: 1440px) {
		.top_header_logo {
				display: none;
		}
}
@media (min-width: 841px) and (max-width: 960px) {
		.loading_base, .loading_base::after, .fv_section, .fv_section .swiper-slide {
				height: 210vw !important;
		}
}
@media(max-width: 960px) {
		.loading_base, .loading_base::after, .fv_section .swiper-slide {
				background-position: center top;
				background-size: cover
		}

		.fv_first{
				background-position: center center !important;
				background-size: cover !important;
        height: 100vh;
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
		}
		.fv_first {
				background-image:initial;
		}

}
@media(max-width: 767px) {
		.fv_first {
				background-image:initial;
        /* モバイル専用の高さ調整 */
        height: calc(100vh + env(safe-area-inset-top));
        min-height: calc(100vh + env(safe-area-inset-top));
	}
   .fv_first .box {
        height: calc(100vh + env(safe-area-inset-top));
        min-height: calc(100vh + env(safe-area-inset-top));
    }
}
@media(max-width: 767px) {
		.fv_section .swiper-slide-active {
				opacity: 1;
				filter: brightness(100%);
				animation: inherit;
		}
}
/* ================ */
.fv_section .swiper-pagination {
		position: absolute;
		bottom: 100px;
		left: 53px;
		z-index: 1000;
		width: inherit;
		padding-left: 60px;
}
@media(max-width: 1500px) {
		.fv_section .swiper-pagination {
				left: 32px;
		}
}
.fv_section .swiper-pagination::before {
		content: 'Shun Classic';
		display: block;
		margin: 0;
		line-height: 1;
		font-size: 16px;
		font-family: minion-pro, serif !important;
		font-weight: 400 !important;
		text-align: left;
		position: relative;
		left: -60px;
		color: #000;
}
.swiper-pagination-bullet {
		border-radius: 0;
		width: 40px;
		opacity: 1;
		height: 14px;
		margin: 0 2px !important;
		position: relative;
}
.swiper-pagination-bullet::after {
		content: '';
		display: block;
		position: absolute;
		top: 11px;
		left: 0;
		width: 100%;
		height: 3px;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		background: #333;
		transform: scaleX(0);
		transform-origin: left center
}
.swiper-pagination-bullet::before {
		content: 'Spring';
		display: block;
		line-height: 1;
		font-family: minion-pro, serif !important;
		font-weight: 400 !important;
		font-size: 14px !important;
		position: absolute;
		top: 3.5px;
		left: -62px;
		opacity: 0;
		transition: opacity 0.5s;
		color: #000 !important;
}
.swiper-pagination-bullet:nth-child(2)::before {
		content: 'Summer';
		left: -106px;
}
.swiper-pagination-bullet:nth-child(3)::before {
		content: 'Autumn';
		left: -150px;
}
.swiper-pagination-bullet:nth-child(4)::before {
		content: 'Winter';
		left: -194px;
}
.swiper-pagination-bullet-active {
		background: rgba(0, 0, 0, 0.2);
}
.swiper-pagination-bullet-active::after {
		transform: scaleX(1);
		transition: transform 2.95s cubic-bezier(0.16, 1, 0.3, 1);
}
.swiper-pagination-bullet-active::before {
		opacity: 1;
}
@media (min-width: 841px) and (max-width: 960px) {
		.fv_section .swiper-pagination {
				bottom: 20px;
				right: 30px;
		}
}
/* ================= */
@media(max-width: 840px) {
		.fv_section .swiper-pagination {
				bottom: 20px;
				right: inherit;
				left: calc(50% - 120px);
		}
}
@media(max-width: 767px) {
		.loading_base, .loading_base::after, .fv_section .swiper-slide {
				background-position: center top !important;
				background-size: 100% !important;
				min-height: inherit;
		}
		.fv_section .swiper-slide {
				transition: all 0.3s;
		}
		.fv_section .swiper-pagination {
				top: 90svh;
				bottom: inherit;
				left: inherit;
				right: 20px;
				transition: inherit;
		}
		.swiper-pagination-bullet {
				border-radius: 0;
				width: calc(calc(calc(100vw - 280px) * 0.25) - 4px);
				margin: 0 1px !important;
		}
		.fv_section .swiper-pagination::before {
				font-size: 14px;
		}
		.swiper-pagination-bullet::before {
				font-size: 11px !important;
				top: 5px;
				left: -60px;
		}
		.swiper-pagination-bullet:nth-child(2)::before {
				left: calc(calc(calc(calc(calc(100vw - 280px) * 0.25) + -2px) + 60px) * -1);
		}
		.swiper-pagination-bullet:nth-child(3)::before {
				left: calc(calc(calc(calc(calc(calc(100vw - 280px) * 0.25) * 2) + -3px) + 60px) * -1);
		}
		.swiper-pagination-bullet:nth-child(4)::before {
				left: calc(calc(calc(calc(calc(calc(100vw - 280px) * 0.25) * 3) + -5px) + 60px) * -1);
		}
}
.top_cont {
		position: relative;
		z-index: 100;
}
.top_cont::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgb(255, 255, 255);
		background: linear-gradient(-180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 30%);
		z-index: -1;
}
.top_about_spacer {
		height: 120vh;
}
.top_about_section {
	min-height: 1500px;
	height: 300vh;
	background-image: 
    linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 50%),
    url('../topimg/top_img02.jpg');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed; /* パララックス効果（オプション） */
}

.top_about_section__inner {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 100px 0;
		box-sizing: border-box;
		min-height: 750px;
}
.top_about_section__inner.isActive {
		position: fixed;
		top: 0;
		left: 0;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
}
.about_body__caption {
	box-sizing:border-box;
	margin: 0 0 80px;
	color:#fff;
}
.about_body__caption .about_body__hd, .about_body__caption p {
		filter: blur(4px);
		opacity: 0;
		transition: filter 1.8s, opacity 0.6s;
}
.about_body__caption .about_body__hd, .about_body__caption p img{
		width:100%;
	max-width:1000px;
	height:auto;
	text-align:center;
}
.top_about_section__inner .link_btn__center {
		opacity: 0;
		transition: opacity 0.6s;
		transition-delay: 0.8s;
}

.about_body__caption p {
		transition-delay: 0.6s;
}
.isActive .about_body__caption .about_body__hd, .isActive .about_body__caption p {
		filter: blur(0px);
		opacity: 1;
}
.isActive .link_btn__center {
		opacity: 1;
}
.about_body__hd {
		margin-left: 5em;
		width: 160px;
}
.about_body__hd img {
		width: 100%;
		height: auto;
}
.about_body__caption h2 {
    font-size:3em;
	font-family: "Unna", serif;
	font-weight: 400;
	padding-bottom:50px;
}
.about_body__caption p {
    font-size:1.1em;
	font-family: "Zen Old Mincho", serif;
  font-weight: 400;
	line-height:3;
		margin-left: 0;
}
.about_body__caption p:last-child {
		margin-left: 0;
}

/* ABOUT 2セクション専用のスタイル */
/* ABOUT 2セクション（2つ目）の背景画像 */
.top_about_section2 {
    background: 
        linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 50%),
        url('../topimg/3890874_2m.jpg') center center/cover no-repeat;
    position: relative;
    z-index: 10;
    background-attachment: fixed; /* パララックス効果（オプション） */
}


/* ABOUT 2セクションが表示される際のABOUTセクションの制御 */
.top_about_section:not(.top_about_section2) {
    z-index: 1; /* ABOUT 2セクションより下に表示 */
}

/* スペーサーのスタイル（必要に応じて） */
.top_about_spacer {
    height: 10
}
@media(max-width: 1500px) {
		.about_body__caption p {
				font-size: 17px;
		}
}
@media(max-width: 1300px) {
		.about_body__hd {
				margin-left: 4em;
				width: 140px;
		}
		.about_body__caption p {
				font-size: 15px;
		}
		.top_about_section__inner {
				padding: 100px 0;
				min-height: 750px;
		}
}
@media(max-width: 840px) {
		.about_body__caption p {
				line-height: 2.5;
				margin-left: 1.8em;
		}

}
@media(max-width: 767px) {
		.top_about_section__inner.isActive {
				position: static !important;
		}
.top_about_section {
    background-attachment: scroll; /* fixedはモバイルで非対応が多いのでoffに */
    background-size: auto 100%; /* ← 縦を100%にする */
    background-position: center top; /* 上基準に調整（好みで） */
    height: auto;
    min-height: 80vh; /* 画面高さぶん確保 */
    padding-top: 100px;
    padding-bottom: 160px;
  }

  .top_about_section__inner {
    display: block;
    padding-top: 0;
    padding-bottom: 0;
    min-height: inherit;
  }
		.about_body__caption {
				display: block;
				margin: 0 0 60px;
				padding: 100px 0 0 25px;
			box-sizing:border-box;
		}
		.shortDevice .about_body__caption {
				margin: 0 0 30px;
			box-sizing:border-box;
		}
		.about_body__hd {
				width: 196px;
				margin: 0 auto 60px;
				position: relative;
				left: -20px;
		}
		.shortDevice .about_body__hd {
				width: 140px;
				margin-bottom: 30px;
		}
		.top_about_section__inner {
				padding-top: 0;
		}
		.about_body__caption p {
				font-size: 3.3vw;
				line-height: 2.4;
				margin: 0 0 2em;
			box-sizing:border-box;
		}
		.shortDevice .about_body__caption p {
				font-size: 3.3vw;
				line-height: 2.2;
				margin: 0 0 0.8em;
				box-sizing:border-box;
	}
}
@media(max-width: 375px) {
		.fv_section {
				min-height: 600px !important;
		}
		.about_body__hd {
				width: 196px !important;
		}
}
.top_tile_section, .top_tile_section .top_tile_section__cont, .top_tile_section_cont_history, .top_tile_section_cont_movie {
		height: 100vh;
}
@media(min-width: 1500px) {
		.top_tile_section, .top_tile_section .top_tile_section__cont, .top_tile_section_cont_history, .top_tile_section_cont_movie {
				height: 1000px;
		}
}
.product_outer {
		position: relative;
		overflow: hidden;
		z-index: 0;
}
@media(max-width: 767px) {
		.product_outer {
		}
		.top_tile_section, .top_tile_section .top_tile_section__cont, .top_tile_section_cont_history, .top_tile_section_cont_movie {
				height: 500px;
		}
}
.product_outer::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		/* background: linear-gradient(-45deg, #666, #f5f5f5, #969696) fixed; */
		background: linear-gradient(-45deg, #c2c2c2, #f5f5f5, #f1f1f1) fixed;
		background-size: 500% 500%;
		animation: GradietionAnimation 13s ease infinite;
		transition: background 0.5s;
}
.product_outer.isBlk::before {
		background: #1e1e1e;
		background-position: 0 0 !important;
}
@keyframes GradietionAnimation {
		0% {
				background-position: 0% 50%;
		}
		50% {
				background-position: 100% 50%;
		}
		100% {
				background-position: 0% 50%;
		}
}
/* ===================== */
.top_search_section {
		position: relative;
		z-index: 5;
}
.top_search_cont {
		display: flex;
		justify-content: space-between;
		max-width: 1340px;
		margin: 0 auto;
		padding: 0 30px;
}

.top_search_cont_col_thumb_outer {
		aspect-ratio: 10 / 6;
}
.top_search_cont_col_thumb_outer {
		width: 100%;
		margin-bottom: 45px;
		overflow: hidden;
		background: #666;
}
.top_search_cont_col_thumb {
		position: relative;
		top: 0px;
		overflow: hidden;
		background: #eee;
		aspect-ratio: 10 / 8.7;
}
.top_search_cont_col_thumb::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		transition: opacity 0.6s, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
		opacity: 0;
}

.isActive .top_search_cont_col_thumb::before {
		opacity: 1;
}
@media (hover: hover) {
		.top_search_cont_col_thumb_outer:hover + .link_btn__center .link_btn a::before {
				opacity: 0;
		}
		.top_search_cont_col_thumb_outer:hover + .link_btn__center .link_btn a::after {
				transform: scale(1);
				border: 1px solid rgba(0, 0, 0, 0.5);
				border: none;
				background: #A9B2B8;
				z-index: 0;
		}
		.top_search_cont_col_thumb_outer:hover + .link_btn__center .link_btn a span::after {
				transform: scaleX(1) translateX(3px);
		}
}
.top_search_cont_col_thumb img {
		opacity: 0;
}

.top_search_cont_col_thumb img {
		aspect-ratio: 10 / 6;
		object-fit: cover;
}
@media(max-width: 767px) {
		.top_search_section {
				margin-bottom: 0;
		}
		.top_search_cont {
				display: block;
				padding: 0 30px;
		}

		.top_search_cont_col_thumb {
				margin-bottom: 25px;
		}
}
/* ===================== */
.top_products_section {
		padding-bottom: 300px;
		position: relative;
		z-index: 5;
}
.top_products_slider_body {
		position: relative;
		margin-left: 190px;
}
@media(min-width: 1400px) {
		.top_products_slider_body {
				margin-left: calc(calc(100vw - 1030px) * 0.5);
		}
}
.top_products_slider_body .top_products_slider_body_left {
		position: absolute;
		width: 160px;
		left: -160px;
		top: 0;
}
.top_products_slider_body_left h3 {
		width: 65px;
		margin-bottom: 50px;
}
.top_products_slider_body_left h3 img {
		width: 100%;
		height: auto;
}
@media(min-width: 768px) {
		.top_products_section .link_btn__center {
				display: none;
		}
}
@media(max-width: 767px) {
		.top_products_slider_body_left h3 {
				width: 100px;
				margin: 0 auto 60px;
				position: relative;
				left: -15px;
		}
}
@media(max-width: 767px) {
		.top_products_slider_body_left .link_btn {
				display: none;
		}
		.top_products_section .link_btn__center {
				margin-top: 50px;
		}
}
.swiper-slide img {
		width: 100%;
		height: auto;
}
.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
		left: 0;
		bottom: 0;
		z-index: 50;
		height: 2px;
}
.swiper-scrollbar-drag {
		background: #1e1e1e;
}

.isActive .top_products_slider__thumb img {
		transform: scale(1);
		opacity: 1;
}
.top_products_slider__caption {
		color: #1e1e1e;
		font-size: 14px;
}
@media(max-width: 767px) {
		.top_products_section {
				padding-bottom: 160px;
		}
		.top_products_slider_body {
				margin-left: 30px;
		}
		.top_products_slider_body .top_products_slider_body_left {
				position: static;
				width: 100%;
				margin: 0;
		}
}
/* ===================== */
.top_tile_section {
		position: relative;
		overflow: hidden;
}
.top_tile_section__bg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transform: scale(1);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		z-index: 0;
}

.top_tile_section .top_tile_section__cont {
		display: flex;
		justify-content: space-between;
		box-sizing: border-box;
		padding: 100px 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		/* z-index: 0; */
}
.top_tile_section_cont_history, .top_tile_section_cont_movie {
		width: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
}
.top_tile_section_cont_history h3, .top_tile_section_cont_movie h3 {
		width: 115px;
		margin-bottom: 120px;
		position: relative;
		z-index: 0;
		pointer-events: none;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
}
.top_tile_section_cont_history h3::before, .top_tile_section_cont_movie h3::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		opacity: 0;
}


.top_tile_section_cont_history h3 img, .top_tile_section_cont_movie h3 img {
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
}
.top_tile_section_cont_history.off h3 img, .top_tile_section_cont_movie.off h3 img, .top_tile_section_cont_history.off .link_btn, .top_tile_section_cont_movie.off .link_btn {
		opacity: 0.3;
}
.tileItem_hd {
		padding: 20px;
}
@media (hover: hover) {
		.top_tile_section_cont_history:hover h3, .top_tile_section_cont_movie:hover h3 {
				transform: scale(1.3)
		}
		.tileItem_hd:hover h3 img {
				opacity: 0;
		}
		.tileItem_hd:hover h3::before {
				opacity: 1 !important;
		}
}
.top_tile_section_cont_history h3 img, .top_tile_section_cont_movie h3 img {
		width: 100%;
		height: auto;
}
.top_tile_section_cont_history .link_btn, .top_tile_section_cont_movie .link_btn {
		position: relative;
		padding: 40px;
}
.top_tile_section_cont_history {
		position: relative;
}
.top_tile_section_cont_history .top_tile_center {
		position: absolute;
		top: 0;
		right: 0;
		width: 1px;
		height: 100%;
		background: #8c8c8c;
		z-index: 0;
}
.tileItem {
		padding: 250px calc(20vw - 40px);
		position: relative;
		height: 100%;
		cursor: pointer;
		z-index: 10;
}
.top_tile_section__cont .link_btn__center {
		position: relative;
		top: -250px;
		z-index: 10;
		box-sizing: border-box;
}
.stalker1, .stalker2 {
		width: 300px;
		height: 300px;
		position: fixed;
		top: 0;
		left: 0;
		transform: translate(-50%, -50%);
		z-index: 1;
		pointer-events: none;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 100%;
		opacity: 0;
		/* display: none; */
}
_::-webkit-full-page-media, _:future, :root .disAble {
		display: none !important;
}

.top_tile_section__cont_inner .link_btn {
		cursor: pointer;
}
.top_tile_section__cont_inner .link_btn a {
		transition: color 0.3s;
}
@media (hover: hover) {
		.top_tile_section__cont_inner:hover .link_btn a::after {
				transform: scale(1);
		}
		.top_tile_section__cont_inner:hover .link_btn a::before {
				opacity: 0;
		}
		.top_tile_section__cont_inner:hover .link_btn a::after {
				transform: scale(1);
				border: 1px solid rgba(0, 0, 0, 0.5);
				border: none;
				background: #A9B2B8 !important;
		}
		.top_tile_section__cont_inner:hover .link_btn a span::after {
				transform: scaleX(1) translateX(3px);
		}
		.top_tile_section__cont_inner .link_btn:hover a {
				color: #fff !important;
		}
		.top_tile_section__cont_inner .link_btn:hover a span::after {
				background: #fff !important;
		}
}
.stalker3 {
		width: 96px;
		height: 96px;
		line-height: 96px;
		text-align: center;
		color: #fff;
		font-size: 15px;
		font-family: minion-pro, serif;
		font-weight: 400;
		font-style: normal;
		position: fixed;
		top: 0;
		left: 0;
		transform: translate(-50%, -50%);
		z-index: 100;
		pointer-events: none;
		border-radius: 50%;
		background: #A9B2B8;
		mix-blend-mode: multiply;
		opacity: 0;
		/* display: none; */
}
.stalker3 span {
		position: relative;
		display: block;
}
.stalker3 span::before, .stalker3 span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 3px);
		width: 6px;
		height: 6px;
}
.stalker3 span::before {
		left: 15px;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: rotate(-45deg);
}
.stalker3 span::after {
		right: 15px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: rotate(45deg);
}
@media(min-width: 768px) {
		.sp_tile_bg {
				display: none;
		}
}
@media(max-width: 767px) {
		.stalker1, .stalker2, .stalker3 {
				display: none !important;
		}
		.top_tile_section_cont_history h3, .top_tile_section_cont_movie h3 {
				width: 100px;
				margin-bottom: 60px;
		}
		.tileItem_hd {
				padding: 0;
		}
		.top_tile_section .top_tile_section__cont {
				padding-top: 80px;
				padding-bottom: 80px;
		}
		.top_tile_section__bg {
				display: none !important;
		}
		.sp_tile_bg_item {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: cover;
				z-index: 0;
		}

}
@keyframes tileBgChange1 {
		0% {
				opacity: 0;
		}
		33.3%, 66.6% {
				opacity: 1;
		}
		100% {
				opacity: 0;
		}
}
@keyframes tileBgChange2 {
		0% {
				opacity: 1;
		}
		33.3%, 66.6% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
/* =================== */
/* .dark_section {
		z-index: 10;
		position: relative;
} */
.top_news_section {
		box-sizing: border-box;
		padding: 240px 8vw 120px;
		position: relative;
		z-index: 0;
}
.top_news_section::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #e9e9e9;
		transition: background 0.9s;
}
.top_news_section.isBlk::before {
		background: #1e1e1e;
}
.top_news_section_inner {
		display: flex;
		align-items: flex-start;
		position: relative;
		z-index: 5
}
.top_news_section_inner__left, .shoplist_section_inner__left {
		min-width: 200px;
}
.top_news_section_inner__left__hd {
		width: 63px;
		margin-bottom: 130px;
}
.top_news_section_inner__left__hd img {
		width: 100%;
		height: auto;
}


/* =========== */
.swiper-parentDiv {
		position: relative;
}
.button_base {
		position: absolute;
		top: -10px;
		right: 30px;
		width: 88px;
		height: 44px;
}
.swiper-parentDiv .swiper-button-prev, .swiper-parentDiv .swiper-button-next {
		position: absolute;
		width: 44px;
		height: 44px;
		top: calc(calc(50% - 20px) - 45px);
}
.swiper-parentDiv .swiper-button-prev {
		left: -50px;
}
@media(max-width: 767px) {
		.swiper-parentDiv .swiper-button-prev {
				left: -33px;
		}
}
.swiper-parentDiv .swiper-button-next {
		position: absolute;
		left: inherit;
		right: 0;
}
.swiper-button-prev::after, .swiper-button-next::after {
		font-family: inherit;
		font-size: 1px;
		color: rgba(255, 255, 255, 0);
}
.swiper-button-prev::after, .swiper-button-next::after {
		position: absolute;
		font-family: inherit;
		font-size: 0;
		content: '';
		display: block;
		width: 20px;
		height: 20px;
		z-index: 2;
		top: 12px;
}
.swiper-button-prev::after {
		border-top: 1px solid #333;
		border-left: 1px solid #333;
		transform: rotate(-45deg);
		left: 18px;
}
.swiper-button-next::after {
		border-top: 1px solid #333;
		border-right: 1px solid #333;
		transform: rotate(45deg);
		left: inherit;
		right: 18px;
}
@media(max-width: 767px) {
		.button_base {
				top: 147px;
				right: 10px;
				width: 72px;
				height: 36px;
		}
		.swiper-button-prev, .swiper-button-next {
				width: 36px;
				height: 36px;
		}
		.swiper-button-prev::after, .swiper-button-next::after {
				width: 13px;
				height: 13px;
				top: 14px;
		}
		.swiper-button-prev::after {
				left: 15px;
		}
		.swiper-button-next::after {
				right: 15px;
		}
}
/* =========== */
@media (max-width: 767px) { 
.fv_section {
   position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	background-image: url("../topimg/top_img01.jpg");
	background-repeat:no-repeat;
    background-size: cover;
}
.fv_first {

    height: 100vh;
    /* モバイル対応の追加 */
    min-height: 100vh;
    min-height: 100svh; /* Safari用の新しい単位 */
    min-height: 100dvh; /* 動的ビューポート高さ */
}

}


@media (orientation: landscape) and (max-width: 940px) {
.fv_section {
   position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	background-image: url("../topimg/top_img01.jpg");
	background-repeat:no-repeat;
    background-size: cover;
}
	
	.fv_first {
		height: 100vh;
        min-height: 100vh;
        min-height: 100svh;
        min-height: 100dvh;
		}

		.fv_section .swiper-pagination {
				position: absolute;
				bottom: 70px;
				left: 25px;
				z-index: 1000;
				width: inherit;
				padding-left: 60px;
		}
		.top_about_section__inner {
				padding: 0px;
				min-height: 600px;
		}
		.about_body__caption p {
				font-size: 12px;
		}
		.top_about_section__inner {
				display: flex;
				justify-content: center;
				align-items: flex-start;
				padding-top: 30px;
				padding-bottom: 40px;
		}
}

/* iOS Safari専用の追加調整 */
@supports (-webkit-touch-callout: none) {
    .fv_first {
        min-height: -webkit-fill-available;
    }
    .fv_first .box {
        min-height: -webkit-fill-available;
    }
}
/* iOS Safari専用の追加調整 */
@supports (-webkit-touch-callout: none) {
    .fv_first {
        min-height: -webkit-fill-available;
    }
    .fv_first .box {
        min-height: -webkit-fill-available;
    }
}
/* 背景固定レイヤー */
.fv_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url("../topimg/top_img.jpg") center center / cover no-repeat;
  z-index: 0;
}

/* ぼかしレイヤー */
.fv_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  transition: backdrop-filter 1.2s ease, -webkit-backdrop-filter 1.2s ease;
  z-index: 1;
}

/* blurアクティブ時 */
.fv_section.blur-active .fv_overlay {
  backdrop-filter: blur(80px);
  -webkit-backdrop-filter: blur(80px);
}

/* 既存テキストやスライダーは前面へ */
.fv_slider_wrap,
.fv_slider,
.fv_first .box,
.fv_first .box .text {
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) { 
.fv_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url("../topimg/top_img01.jpg") center center / cover no-repeat;
  z-index: 0;
}
}