@charset "utf-8";

.shop {
	margin-bottom: 100px;
}
.shop .sub_visual {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 697px;
	background: url('../images/sub/shop_visual.jpg') no-repeat center;
}
.shop .sub_visual h2 {
	font-size: 8rem;
	font-weight: 400;
	color: var(--white-basic-color);
	line-height: 1.475;
	text-align: center;
	word-break: keep-all;
}
.shop .sub_visual h2 strong {
	font-weight: 400;
	background: linear-gradient(301deg, rgba(220,180,91,1) 0%, rgba(253,232,146,1) 51%, rgba(233,201,112,1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	word-break: keep-all;
}
.shop .search_box {
    display: flex;
    align-items: center;
	position: relative;
	width:calc(100% - 30px);
	max-width: 1224px;
	margin: -50px auto 0;
	padding: 20px;
	background-color: var(--white-basic-color);
	border-radius: 50px;
	box-shadow: 2px 7px 12.35px 0.65px rgba(0, 0, 0, 0.11);
	z-index: 99;
}
.shop .search_box .form_box {
    position:relative;
}
.shop .search_box .form_box + .form_box {
	border-left: 1px solid var(--gray-color300);
}
.shop .search_box .loc_btn {
    position:relative;
    width:310px;
    height: 60px;
	padding: 0 15px;
	font-size:2rem;
    color:var(--gray-color150);
    text-align: center;
    z-index: 3;
}
.shop .search_box .loc_btn span {
	padding-left: 42px;	
    font-size:2rem;
    color:var(--gray-color250);
    background:url('../images/common/ico_location.png') no-repeat left center;
}
.shop .search_box .loc_btn.active {
    color:#333;
} 
.shop .search_box .result_form {
    width:100%;
}
.shop .search_box .search_detail {
    position:relative;
    width:100%;
}
.shop .search_box .search_detail input {
    width:100%;
    height: 60px;
    padding:0 70px 0 20px;
    font-size:2rem;
	text-align: center;
	border: none;
}
.shop .search_box .search_detail input::placeholder {
    color:var(--gray-color250);
}
.shop .search_box .search_detail .search_btn {
    position:absolute;
    top:0;
    right:0;
    width:60px;
    height:60px;
	border-radius: 50%;
    font-size:0;
    background:var(--blue-color100) url('../images/common/btn_search_w.png') no-repeat center;
}
.shop .search_box .loc_list {
    position:absolute;
    top:calc(100% + 20px);
    left:0;
    width:100%;
    height:0px;
    box-sizing: border-box;
    overflow-y: auto;
    z-index: 2;
    box-shadow: 0px 4px 5.88px 0.12px rgba(0, 0, 0, 0.12);
    background-color:#fff;
    transition:.3s;
}
.shop .search_box .loc_list.active {
    height:320px;
}
.shop .search_box .loc_list::-webkit-scrollbar {
    width: 15px;
}
.shop .search_box .loc_list::-webkit-scrollbar-track {
    box-shadow: inset 0 0 15px 15px #dddddd;
    border: solid 5px #ffffff;
    border-radius: 15px;
}
.shop .search_box .loc_list::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 15px 15px #333333;
    border: solid 5px transparent;
    border-radius: 15px;
}
.shop .search_box .loc_list li a {
    display: block;
    padding:0 20px;
    font-size:18px;
    color:#333333;
    line-height: 60px;
}
.shop .search_box .loc_list li a:hover {
    background-color:#f5f5f5;
}
.shop .list_box {
    margin:80px 0;
}
.shop .list_box ul li {
	display:flex;
}
.shop .list_box ul li a {
	width:100%;
}
.shop .list_box ul li {
    margin-bottom: 80px;
}
.shop .list_box .img_box {
    flex:0 0 auto;
    position:relative;
    width:33.33%;
    margin-right: 60px;
}
.shop .list_box .img_box img {
    width:100%;
    height:100%;
    object-fit: cover;
}
.shop .list_box .slick-arrow {
    position:absolute;
    top:50%;
    width:45px;
    height:60px;
    font-size:0;
    background:rgba(0,0,0,.6) url('../img/common/btn_slide.png') no-repeat center / 15px;
    z-index: 10;
}
.shop .list_box .slick-arrow.slick-prev {
    left:0;
    transform:translateY(-50%);
}
.shop .list_box .slick-arrow.slick-next {
    right:0;
    transform:translateY(-50%) rotate(180deg);
}
.shop .list_box .txt_box {
    width:100%;
    border-bottom:1px solid #dddddd;
    transition:.3s;
}
.shop .list_box li:hover .txt_box .store_name {
    color:#d51a1a;
    background-image:url('../img/common/ico_plate_red.png');
}

.shop .shop_list {
	margin-top: 116px; 
}
.shop .shop_list ul {
	display: flex;
	/* align-items: flex-start; */
	flex-wrap: wrap;
	margin: -9px;
}
.shop .shop_list ul li {
	position: relative;
	width: calc(33.33% - 18px);
	margin: 9px;
	border: 1px solid var(--gray-color350);
	border-radius: 10px;
}
.shop .shop_list .new .badge {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -12px;
	left: 14px;
	width: 50px;
	height: 150px;
	padding-left: 14px;
	padding-bottom: 25px;
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--white-basic-color);
	letter-spacing: 0.8rem;
	writing-mode: vertical-lr;
	background: url('../images/common/ico_new_badge.png') no-repeat center top;
	box-sizing: content-box;
}
.shop .shop_list .img_box {
	width: 100%;
	height: 290px;
	border-radius: 10px 10px 0 0;
	overflow: hidden;
}
.shop .shop_list .img_box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.shop .shop_list .txt_box {
	padding: 28px 15px 30px;
	text-align: center;
}
.shop .shop_list .name {
	display: block;
	margin-bottom: 15px;
	font-size: 2.6rem;
	font-weight: 700;	
}
.shop .shop_list .txt_box p {
	margin: 10px 0;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
}

/* interior */
.interior .visual {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	height: 100vh;
}
.interior .visual .video_box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.interior .visual .video_box:after {
	content:'';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.3);
	z-index: 2;
}
.interior .visual .video_box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.interior .visual .txt_box {
	position: relative;
	text-align: center;
	z-index: 3;
}
.interior .visual .txt_box strong {
	display: block;
	font-size: 8rem;
	font-weight: 400;
	color: var(--white-basic-color);
	line-height: 1.2;
	word-break: keep-all;
}
.interior .visual .txt_box p {
	margin-top: 40px;
	font-size: 3.4rem;
	font-weight: 300;
	color: var(--white-basic-color);
	word-break: keep-all;
}
.interior .point_area {
	padding: 150px 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.interior .point01 {
	background-image: url('../images/sub/interior_point_bg01.jpg');
}
.interior .point02 {
	background-image: url('../images/sub/interior_point_bg02.jpg');
}
.interior .point03 {
	background-image: url('../images/sub/interior_point_bg03.jpg');
}
.interior .point_area .txt_box .point_ttl {
	display: block;
	position: relative;
	padding-bottom: 25px;
	font-size: 3.2rem;
	color: var(--white-basic-color);
	text-transform: uppercase;
}
.interior .point_area .txt_box .point_ttl:after {
	content:'';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60px;
	height: 2px;
	background-color: var(--gray-color250);
}
.interior .point_area .txt_box p {
	margin-top: 20px;
	font-size: 3.6rem;
	color: var(--white-basic-color);
	line-height: 1.5;
}
.interior .point_area .img_box {
	display: flex;
	align-items: center;
}
.interior .point01 .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.interior .point01 .txt_box .point_ttl,
.interior .point01 .txt_box p {
	color: var(--black-basic-color);
}
.interior .point02 {
	padding-top: 270px;
}
.interior .point02 .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.interior .point02 .img_box .img_wrap + .img_wrap {
	margin-left: 50px;
}
.interior .point02 .img_box .img_wrap:first-child {
	position: relative;
	top: -110px;
}
.interior .point02 .txt_box {
	margin-right: 35px;
}
.interior .point03 .txt_box {
	margin-bottom: 60px;
	text-align: center;
}
.interior .point03 .img_box .img_wrap + .img_wrap {
	margin-left: 40px;
}
.interior .point03 .txt_box .point_ttl:after {
	left: 50%;
	transform: translateX(-50%);
}

/* menu */
.menu .visual {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	height: 100vh;
}
.menu .visual .video_box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.menu .visual .video_box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.menu .visual .txt_box {
	text-align: center;
}
.menu .visual .txt_box strong {
	display: block;
	font-size: 8rem;
	font-weight: 400;
	color: var(--white-basic-color);
	line-height: 1.5;
	word-break: keep-all;
}
.menu .visual .txt_box p {
	margin-top: 40px;
	font-size: 3.4rem;
	font-weight: 300;
	color: var(--white-basic-color);
	word-break: keep-all;
}
.menu .menu_area {
	padding: 60px 0 170px;
}
.menu .menu_area .menu_tab {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 -25px 70px;
}
.menu .menu_area .menu_tab .tab_btn {
	width:215px;
	height:64px;
	margin: 0 25px;
	font-size: 2.4rem;
	font-weight: 700;
	color: var(--blue-color100);
	border: 1px solid var(--gray-color325);
	border-radius: 32px;
	text-align: center;
}
.menu .menu_area .menu_tab .tab_btn.active {
	color: var(--white-basic-color);
	background-color: var(--blue-color100);
	border-color: var(--blue-color100);
	box-shadow: 0px 6px 10px 0px rgba(0, 0, 0, 0.4);
}
.menu .menu_area .menu_list ul {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -15px;
}
.menu .menu_area .menu_list li {
	width: calc(33.33% - 30px);
	margin: 15px;
}
.menu .menu_area .menu_list .img_box {
	border-radius: 10px 10px 0 0;
	overflow: hidden;
}
.menu .menu_area .menu_list .img_box img {
	display: block;
	width: 100%;
}
.menu .menu_area .menu_list .txt_box {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: 195px;
	padding: 0 50px;
	border-radius: 0 0 10px 10px;
	background-color: var(--gray-color500);
	border: 1px solid var(--gray-color300);
	border-top: none;
	text-align: center;
	overflow: hidden;
}
.menu .menu_area .menu_list .name {
	margin-bottom: 20px;
	font-size: 2.6rem;
	font-weight: 400;
}
.menu .menu_area .menu_list p {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	word-break: keep-all;
}


/* pager */
.pager {
	margin-top: 50px;
}
.pager ul {
	display: flex;
	align-items: center;
	justify-content: center;
}
.pager li {
	width:55px;
	height:55px;
	margin: 0 8px;
}
.pager li a {
	display: block;
	width:100%;
	height:100%;
}
.pager .p_arrow a {
	font-size: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url('../images/common/ico_arrow_single.png');
}
.pager .p_arrow.double_arrow a {
	background-image: url('../images/common/ico_arrow_double.png');
}
.pager .p_arrow.last_arrow {
	transform: rotate(180deg);
}
.pager .num a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
	color: var(--gray-color200);
	text-align: center;
}
.pager .num.active a,
.pager .num a:hover {
	font-weight: 700;
	color: var(--blue-color100);
}

/* responsive */

@media screen and (max-width:1024px) {

	/* interior */
	.interior .point_area.point01 .txt_box {
		width: 40%;
		padding-right: 20px;
	}
	.interior .point_area.point01 .img_box {
		width: 60%;
	}
	.interior .point_area.point02 .txt_box {
		width: 30%;
		padding-left: 20px;
	}
	.interior .point_area.point02 .img_box {
		width: 70%;
	}
	.interior .point02 .img_box .img_wrap + .img_wrap {
		margin-left: 20px;
	}

	/* menu */
	.menu .menu_area .menu_list .txt_box {
		padding: 10px 30px;
	}

	/* shopinfo */
	.shop .sub_visual h2 {
		padding: 0 15px;
		font-size: 5rem;
	}
	.shop .search_box .form_box {
		width: 25%;
	}
	.shop .search_box .loc_btn {
		width: 100%;
	}
	.shop .search_box .result_form {
		width: 50%;
	}
	.shop .shop_list .name {
		font-size: 2.3rem;
	}
	.shop .shop_list .txt_box p {
		font-size: 1.8rem;
		word-break: keep-all;
	}

}

@media screen and (max-width:850px) {

	/* interior */
	.interior .visual {
		height: 70vh;
	}
	.interior .visual .txt_box strong {
		font-size: 5rem;
	}
	.interior .visual .txt_box p {
		font-size: 3rem;
	}
	.interior .point_area {
		padding: 80px 0;
	}
	.interior .point01 .inner {
		flex-direction: column;
	}
	.interior .point_area.point01 .txt_box {
		width: 100%;
		margin-bottom: 30px;
	}
	.interior .point_area.point01 .img_box {
		width: 100%;
	}
	.interior .point_area.point02 .txt_box {
		width: 100%;
		margin-top: 30px;
	}
	.interior .point_area.point02 .img_box {
		width: 100%;
	}
	.interior .point02 .img_box .img_wrap:first-child {
		top: 0;
	}
	.interior .point03 .img_box .img_wrap + .img_wrap {
		margin-left: 10px;
	}
	.interior .point_area .txt_box .point_ttl {
		padding-bottom: 15px;
		font-size: 2.8rem;
	}
	.interior .point_area .txt_box p {
		margin-top: 15px;
		font-size: 2.5rem;
	}
	.interior .point02 .inner {
		flex-direction: column;
	}

	/* menu */
	.menu .visual {
		height: 70vh;
	}
	.menu .visual .txt_box strong {
		font-size: 3.5rem;
	}
	.menu .visual .txt_box p {
		font-size: 2rem;
	}
	.menu .menu_area .menu_tab {
		margin: -5px;
		margin-bottom: 30px;
	}
	.menu .menu_area .menu_tab .tab_btn {
		width: calc(25% - 10px);
		height: 54px;
		margin: 5px;
		font-size: 2rem;
	}
	.menu .menu_area .menu_list ul {
		margin: -5px;
	}
	.menu .menu_area .menu_list li {
		width: calc(50% - 20px);
		margin: 10px;
	}
	.menu .menu_area .menu_list .txt_box {
		padding: 20px;
	}

	/* shopinfo */
	.shop .sub_visual {
		height: 60vh;
	}
	.shop .search_box {
		flex-wrap: wrap;
		border-radius: 30px;
	}
	.shop .search_box .form_box {
		width: 50%;
	}
	.shop .search_box .result_form {
		width: 100%;
		margin-top: 20px;
		padding-top: 10px;
		border-left: none !important;
		border-top: 1px solid var(--gray-color300);
	}
	.shop .search_box .loc_btn {
		height: 50px;
	}
	.shop .search_box .search_detail .search_btn {
		width: 50px;
		height: 50px;
		background-size: 20px;
	}
	.shop .search_box .loc_btn span {
		font-size: 1.7rem;
	}
	.shop .search_box .search_detail input {
		height: 50px;
		padding-right: 60px;
		font-size: 1.7rem;
	}
	.shop .shop_list {
		margin-top: 70px;
	}
	.shop .shop_list ul li {
		width: calc(50% - 18px);
	}
	.shop .shop_list .txt_box {
		padding: 25px 10px;
	}
	.shop .shop_list .name {
		font-size: 2rem;
	}
	.shop .shop_list .txt_box p {
		margin: 5px 0;
		font-size: 1.5rem;
	}
	.shop .shop_list .img_box {
		height: 200px;
	}

}

@media screen and (max-width:640px) {

	/* interior */
	.interior .point02 .img_box .img_wrap + .img_wrap {
		margin-left: 10px;
	}
	.interior .point03 .img_box {
		flex-direction: column;
		gap: 10px;
	}
	.interior .point03 .img_box .img_wrap + .img_wrap {
		margin-left: 0;
	}	

	/* shopinfo */
	.shop .search_box {
		padding: 15px 10px;
	}
	.shop .shop_list .new .badge {
		top: -7px;
		width: 40px;
		height: 100px;
		padding-top: 10px;
		padding-bottom: 20px;
		font-size: 1.2rem;
		background-size: contain;
	}
	.shop .search_box .loc_btn {
		height: 40px;
		font-size: 1.5rem;
	}
	.shop .search_box .loc_list li a {
		padding: 0 12px;
		font-size: 15px;
		line-height: 45px;
	}


}

@media screen and (max-width:414px) {

	/* shopinfo */
	.shop .shop_list ul li {
		width: 100%;
	}
	.menu .menu_area .menu_list li {
		width: 100%;
	}
	.menu .menu_area .menu_list .txt_box {
		min-height: auto;
	}


}