/**
 * KV
 */
.kv .slogan,
.kv .lp_button {
	position: absolute;
}

.kv img {
	height: auto;
	width: 100%;
}

.kv .slogan {
	left: 0;
	right: 0;
	width: 100%;
	z-index: 10;
}

.kv .lp_button {
	z-index: 20;
}

@media (min-width: 1081px) {
	.kv {
		height: calc(100vw * 743 / 1920);
		margin-bottom: calc(100vw * 190 / 1920);
	}

	.kv .slogan {
		bottom: calc(100vw * -190 / 1920);
		height: calc(100vw * 300 / 1920);
	}

	.kv .lp_button {
		right: calc(100vw * 254 / 1920);
		bottom: calc(100vw * -10 / 1920);
		width: calc(100vw * 220 / 1920);
	}
}

@media (max-width: 1080px) {
	.kv {
		height: calc(100vw * 955 / 820);
		margin-bottom: calc(100vw * 190 / 820);
	}

	.kv .slogan {
		bottom: calc(100vw * -180 / 820);
		height: calc(100vw * 259 / 820);
	}

	.kv .lp_button {
		right: calc(100vw * -10 / 820);
		bottom: calc(100vw * -30 / 820);
		width: calc(100vw * 270 / 820);
	}
}

/**
 * History
 */
.kv_history {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.kv_history img {
	height: auto;
	width: 100%;
}

@media (min-width: 1081px) {
	.kv_history {
		padding: calc(100vw * 200 / 1920) 0 calc(100vw * 100 / 1920);
	}

	.kv_history .left {
		margin-right: calc(100vw * 70 / 1920);
		width: calc(100vw * 357 / 1920);
	}

	.kv_history .right {
		width: calc(100vw * 462 / 1920);
	}
}

@media (max-width: 1080px) {
	.kv_history {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		padding: calc(100vw * 115 / 820) 0 calc(100vw * 55 / 820);
	}

	.kv_history .left {
		margin-bottom: calc(100vw * 100 / 820);
		width: calc(100vw * 441 / 820);
	}

	.kv_history .right {
		width: calc(100vw * 487 / 820);
	}
}

/*
 * Intro Video 
 */
.intro-video-wrapper {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
	width: 100%;
}

@media (min-width: 1081px) {
	.intro-video-wrapper {
		margin-bottom: calc(100vw * 100 / 1920);
		padding: 0 calc(100vw * 30 / 1920);
	}
}

@media (max-width: 1080px) {
	.intro-video-wrapper {
		margin-bottom: calc(100vw * 60 / 820);
		padding: 0 calc(100vw * 30 / 820);
	}
}

/**
 * People
 */
.kv_people img {
	height: auto;
	width: 100%;
}

@media (min-width: 1081px) {
	.kv_people {
		height: calc(100vw * 768 / 1920);
	}
}

@media (max-width: 1080px) {
	.kv_people {
		height: calc(100vw * 989 / 820);
	}
}

/**
 * Joyment
 */
.kv_joyment {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.kv_joyment img {
	height: auto;
	width: 100%;
}

@media (min-width: 1081px) {
	.kv_joyment {
		padding: calc(100vw * 120 / 1920) 0;
	}

	.kv_joyment .left {
		margin-right: calc(100vw * 60 / 1920);
		width: calc(100vw * 747 / 1920);
	}

	.kv_joyment .right {
		width: calc(100vw * 560 / 1920);
	}
}

@media (max-width: 1080px) {
	.kv_joyment {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		padding-top: calc(100vw * 115 / 820);
		margin-bottom: calc(100vw * -340 / 820);
	}

	.kv_joyment .left {
		margin-top: calc(100vw * 160 / 820);
		width: calc(100vw * 666 / 820);
	}

	.kv_joyment .right {
		width: calc(100vw * 721 / 820);
	}
}

/**
 * Menu
 */
.menu_title,
.menu_title > .wrapper,
.menu_items .name,
.menu_slogan {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.menu_title > .wrapper,
.menu_items .name,
.menu_slogan {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.menu_items .name,
.menu_slogan {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.menu_title {
	font-weight: bold;
}

.menu_title > .wrapper {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin: 20px auto;
	width: 350px;
}

.menu_title .en,
.menu_title .ja {
	padding: 0 30px;
}

.menu_title .sub-title{
	font-size: 24px;
	font-weight: normal;
}

.menu_title .separator {
	background-color: #171717;
	height: 1px;
	margin: 20px 0;
	width: 100%;
}

.menu_title .en {
	font-family: Arial, sans-serif;
	font-size: 60px;
}

.menu_title .ja {
	font-size: 40px;
}

.menu_slogan {
	white-space: nowrap;
}

.menu_items img {
	display: block;
	height: auto;
	width: 100%;
}

.menu_items .name {
	font-size: 28px;
	font-weight: bold;
	padding: 30px 0;
}

.menu_items .slider_nav {
	position: absolute;
	cursor: pointer;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	z-index: 10;
}

.shop-opening li .content {
	/*overflow: hidden;*/
	/*text-overflow: ellipsis;*/
	/*white-space: nowrap;*/
}

.shop-news-pad{
	background: white;
	border-radius: 20px;
    border: 4px solid #3E3A39;
	padding: 60px 65px 15px 65px;
	max-width: 960px;
	width: 90vw;
	margin: 0 auto 100px auto;
}
.shop-news-list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 35px;
}
.shop-poster img{
	aspect-ratio: 9 / 7;
	object-fit: cover;
	object-position: center;
	width: 100%;
}
.shop-news-item .news-title h4{
	padding-bottom: 10px;
	border-bottom: 1px solid #555;
}
.shop-news-item .news-title h5{
	font-weight: normal;
}
.more-btn{
	width: 280px;
	margin: 0 auto;
	text-align: center;
	padding: 10px 0;
	border: 3px  solid #3E3A39;
	display: block;
	border-radius: 10px;
	position: relative;
	top: 40px;
	background: white;
}

@media (min-width: 1081px) {
	.menu_items .slider_nav {
		top: 50%;
		width: 50px;
	}

	.menu_items .slider_nav.prev {
		left: 100px;
	}

	.menu_items .slider_nav.next {
		right: 100px;
	}

	.menu_slogan {
		font-size: 25px;
		margin: 10px 0 50px;
	}
}

@media (max-width: 1080px) {
	.menu_title .en {
		font-size: 40px;
	}
	.shop-news-pad{
		padding: 70px 20px 15px 20px;
	}
	.shop-news-list{
		grid-template-columns: repeat(1, 1fr);
		gap: 5px;
		padding: 10px 30px;
	}

	.menu_title .separator {
		margin: 10px 0;
	}

	.menu_title .ja {
		font-size: 25px;
	}

	.menu_items img {
		margin: 0 auto;
		width: 70%;
	}

	.menu_items .slider_nav {
		top: 35%;
		width: 40px;
	}

	.menu_items .slider_nav.prev {
		left: 10px;
	}

	.menu_items .slider_nav.next {
		right: 10px;
	}

	.menu_slogan {
		font-size: 14px;
		margin: 5px 0 20px;
	}
}