.topsec { padding:80px 0; margin:40px auto 64px; }
.top-heading { font-size:1.4em; color:var(--blue-color); }
.eng-text-heading { font-size:1.6em; }

.home .button-primary { width:264px; }

.main-visual { overflow-x: hidden; }
.main-visual .inner { position:relative; }
.main-visual .breakout-left { margin-left: calc(50% - 50vw); }
.main-visual .breakout-right { margin-right: calc(50% - 50vw); }
.main-lead-box { position:absolute; text-align:center; z-index:2; top:50%; transform:translateY(-50%); }
.main-lead-logo { width:320px; }
.main-lead1 { color:var(--blue-color); margin:4px 0 24px; }
.main-lead2 { font-size:1.6em; }
.mv-image { max-width:1600px; margin:auto; display:block; }
.mv-image img { height:auto; }

.concept-sec { position:relative; margin-bottom:0; padding-bottom: 144px; overflow:hidden; }
.concept-sec img { height:auto; }
.concept-image-box { width:56%; margin-right:8%; }
.concept-image-box .breakout-left { text-align:right; }
.concept-image1 { width:800px; }
.concept-image2-wrap { margin-top:48px; width:64%; margin-left:36%; }
.concept-text-box { width:36%; }
.concept-text1 { line-height:2; font-size:1.4em; margin-top:40px; }
.concept-text2 { line-height:2.4; margin-top:64px; }
.concept-button-box { margin-top:40px; }

.marquee-wrap { position:absolute; bottom:0; z-index:-1; }
.marquee { --gap: 1rem; display: flex;
  user-select: none; gap: var(--gap); position: relative; bottom:0px; }
.marquee__content { flex-shrink: 0; display: flex; justify-content: space-around;
  min-width: 100%; gap: var(--gap);
  animation: horizontal-scroll 88s linear infinite; }
.marquee__content p { font-size:2000%; text-transform: uppercase; letter-spacing:0;
  color: transparent; -webkit-background-clip: text;
  -webkit-text-stroke: 1px var(--blue-color); line-height: 0.9; }
@keyframes horizontal-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-100% - var(--gap))); }}

.menu-sec { position:relative; margin-top:0; padding-top:120px; }
.menu-sec:before { content:""; width:100%; height:400px; position:absolute; top:0; left:0; z-index:2;
	background-color: rgba(var(--blue-color-rgb), .04); }
.menu-sec .top-heading { margin-bottom:24px; position:relative; }
.menu-sec .top-heading:before { content:""; width:1px; top:-120px; height:100px; background-color:var(--blue-color); 
	position:absolute; left:50%; transform:translateX(-50%); z-index:2; }
.menu-list { margin-top:64px; position:relative; z-index:2; }
.menu-item { width:30%; overflow: hidden; position:relative; }
.menu-item::before { position: absolute; top: 0; left: -75%; z-index: 2;
  display: block; content: ''; width: 50%; height: 100%;
  background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  -webkit-transform: skewX(-25deg); transform: skewX(-25deg); }
.menu-item:hover::before { -webkit-animation: shine var(--base-duration) var(--base-easing);
  animation: shine var(--base-duration) var(--base-easing); }
@-webkit-keyframes shine {
	100% { left: 125%; }}
@keyframes shine {
	100% { left: 125%; }}

.menu-item:nth-child(2) { margin:0 5%; }
.menu-link { color:var(--text-color); }
.menu-head { position:relative;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(12%, #fff), color-stop(76%, #fff), to(transparent));
    -webkit-mask-image: -webkit-linear-gradient(top, transparent 0%, #fff 12%, #fff 76%, transparent 100%);
    mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(12%, #fff), color-stop(76%, #fff), to(transparent));
    mask-image: linear-gradient(to bottom, transparent 0%, #fff 12%, #fff 76%, transparent 100%); line-height:0; }
.menu-eng-text { position:absolute; right:0; bottom:24px; color:var(--blue-color); font-size:1.2em; z-index:2; }
.menu-head img { height:auto; }
.menu-title { font-size:1.32em; color:var(--blue-color); margin:24px 0 16px; }
.menu-button-box { margin-top:64px; text-align:center; }

.marquee-image ul { display: flex; margin: 0; padding: 0; width: max-content; }
.marquee-right { animation: marquee-right 20s linear infinite; }
.marquee-left { margin-top:8px; animation: marquee-left 20s linear infinite; }
.marquee-image ul li { list-style: none; padding: 0 4px; width: calc(100vw / 4 - 8px); }
.marquee-image img { display: block; width: 100%; }
@keyframes marquee-right {
	from {
		transform: translateX(0%);
	}
	to {
		transform: translateX(-50%);
	}
}
@keyframes marquee-left {
	from {
		transform: translateX(-50%);
	}
	to {
		transform: translateX(0%);
	}
}


.shop-sec { position:relative; padding:120px 0; overflow:hidden; }
.shop-secbg { position: absolute; bottom: 0; top: 0; z-index: -1; right: calc(25vw - 120px); left: 0; 
	background-color:rgba(var(--blue-color-rgb),.04); }
.shop-sec .inner { position:relative; }
.shop-text { position:absolute; left:0;top:0; z-index:2; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
.shop-sec .top-heading { margin-left:12px; }
.shop-sec .top-heading:before { content:""; width:1px; top:-120px; height:100px; background-color:var(--blue-color); 
	position:absolute; right:16px; }
.shop-subtext { line-height:2; }
.shop-item { width:30%; box-shadow: rgba(var(--blue-color-rgb), 0.1) 0px 12px 12px -12px; background-color:#fff; }
.shop-item:nth-child(2) { margin:0 5%; }
.shop-head { overflow:hidden; }
.shop-image { height:auto; transition:transform var(--base-duration) var(--base-easing); }
.shop-link:hover img { transform: scale(1.1); }
.shop-body { padding:24px 12px 24px 24px; color:var(--text-color); }
.shop-title { font-size:1.2em; color:var(--blue-color); margin-bottom:8px; }
.shop-button-box { margin-top:40px; text-align:right; }
.shop-info:not(:first-child) { margin-top:8px; }
.shop-info-location { align-items: center; }
.shop-info-title { line-height:1; width:64px; text-align:center;
	color:var(--blue-color); border:1px solid var(--blue-color); font-size:0.84em; margin-right:12px; padding:4px 0px; }
.shop-info-desp { width:calc(100% - 78px); line-height:1.32; }


@media (max-width: 1280px) {
	.shop-sec .left-inner-margin { margin-left:16%; }
	.shop-text { left:4%; }}

@media (max-width: 991px) {
	.main-lead-logo { width: 280px; }
	.main-lead1 { font-size:0.9em; margin: 4px 0 16px; }
	.main-lead2 { font-size: 1.2em; }
	/*.mv-image img { height: 80svh; object-fit: cover; object-position:center right; }*/
	
	.concept-image-box { width:100%; margin-right:0; margin-top:48px; }
	.concept-sec .inner { flex-direction: column-reverse; }
	.concept-image2-wrap { margin-top:48px; width:100%; margin-left:0; }
	.concept-sec .breakout-right { margin-top:24px; }
	.concept-text-box { width:100%; }
	
	.shop-item { width:80%; margin:0 10% 6.4%; }
	.shop-item:nth-child(2) { margin:0 10% 6.4%; }
	.shop-item:last-child { margin:0 10% 0; }
}
@media (max-width: 787px) {
	.main-lead-box { top: 12%; transform: inherit; }
	.main-lead1 { font-size:0.8em; margin: 4px 0 16px; }
	.main-lead2 { font-size: 1.12em; }
	
	.marquee-image ul li:last-child { display:none; }
	.marquee-image ul li { width: calc(100vw / 3 - 8px); }

	.menu-sec { position:relative; margin-top:0; padding-top:120px; }
	.menu-list { width:80%; margin:0 10%; }
	.menu-sec .menu-item { width:100%; margin:0 0 10%; }
	.menu-eng-text { font-size: 2.4em; }}

@media  (max-width: 480px){
	.menu-sec { padding-top:80px; }
	.menu-sec .top-heading:before { top:-80px; height:60px;  }
	.menu-list { width:100%; margin:40px 0 0; }
	.menu-sec .menu-item { margin:0 0 8%; }
	.menu-title { margin: 24px 0 8px; }
	
	.shop-sec { padding-top:200px; overflow:hidden; }
	.shop-text { top:-120px; left:2%; }
	.shop-sec .top-heading { margin-left: 4px;}
	.shop-sec .top-heading:before { right: 12px; top: -80px; height: 60px;}
	.shop-item { width:100%; margin:0 0 8% 0; }
	.shop-item:nth-child(2) { margin:0 0 8% 0; }
	.shop-item:last-child { margin: 0; }
	.shop-title { margin-bottom: 16px; }
	.shop-button-box { text-align: center; }
}


.news-sec { background-color:rgba(var(--blue-color-rgb),.04); }
.news-sec .top-heading { left:0; height: 100px; top: 50%; transform: translateY(-50%);
	letter-spacing: 4px; text-align: center; position:absolute; z-index:2; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
.news-list { margin-left:80px; }
.news-item:not(:first-child) { margin-top:16px; } 
.news-date { margin-right:40px; }


