body.stopscroll {
	overflow: hidden
}

.flexed {
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
}

#shop1, #shop2, #shop3, #shop4, #shop5, #shop6, #shop7 {}
.modal_box {
    position: fixed;
	display: none;
	top:0;	
	left: 0;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	z-index: 9999;
}
.modal_box.-activemodal {
}

.shop-wrap {
	position: relative;
    width: 100%;
	height: auto;
	padding-left: 44.5%;
	letter-spacing: .1em;
	font-weight: 500;
	 box-sizing: border-box;
	background: #FFF;
	overflow: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.shop-wrap::-webkit-scrollbar {  
  display: none;
}

.shop-slide {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 44.5%;
	background: var(--common-green);
	overflow: hidden;
	z-index: 2;
}
.shop-slide-img {
	height: 100vh;
}
.shop-slide-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	font-family: 'object-fit: cover;';
}

.shop-contents {
	width: 100%;
	overflow: hidden;
}
.shop-inner {
}
.shop-inner, .shop-contens-footer-inner {
	position: relative;
	margin: auto;
	width: 100%;
	padding: 0 10%;
	box-sizing: border-box;
}
.logo-diner {
	text-align: center;
	height: 50px;
	padding: 30px 0;
}
#shop5 .logo-diner {
	height: 70px;
	padding: 20px 0;
}
.logo-diner img {
	width: auto;
	height: 100%;
}
.shop-title {
	padding: 120px 0 80px;
}
.shop-title h1 {
	font-size: 52px;
	line-height: 1.2;
	letter-spacing: .08em;
	font-weight: 600;
	margin-bottom: 25px;
}
.shop-title-add p {
	position: relative;
	display: inline-block;
	margin-left: 15px;
	padding-left: 15px;
}
.shop-title-add p::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 20px;
	background: #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);	
}

.shop-info-wrap {
	position: relative;
}
.shop-info-wrap::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 60vw;
	height: 100%;
	margin: auto calc(50% - 30vw) 0;
	background-color: var(--common-green);
	z-index: 0;
}
#shop4 .shop-info-wrap::before {
	background-color: var(--common-sauja-yellow);
}
.shop-info {
	position: relative;
	padding: 25px 0 50px;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	z-index: 1;
}
.shop-info--box {
	width: 50%;
}
.shop-info--box dl {
	margin: 25px 0 0;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.shop-info--box dl dt {
	width: 120px;
	padding: 10px 0;
	background: #FFF;
	text-align: center;
	font-weight: bold;
}
.shop-info--box dl dd {
	color: #FFF;
	font-weight: bold;
	padding: 0 0 0 25px;
	margin: 0;
  width: calc(100% - 120px);
}
.shop-info--box dl dd a {
	color: #FFF;
	text-decoration: none;
}
.shop-info--box dl dd ul {
	padding: 0;
	margin: 0;
}
.shop-info--box dl dd ul li {
	display: inline-block;
	margin-right: 15px;
	width: 32px;
}
.shop-info--box dl dd ul li a {
	transition: .3s linear;
}
.shop-info--box dl dd ul li a:hover {
	opacity: .5;
}
.shop-info--box dl dd ul li img {
	width: 100%;
	vertical-align: bottom;
}



.shop-info-logos {
	padding: 80px 0;
}
.shop-logo {
	text-align: center;
	margin-bottom: 80px;
	height: 170px;
}
#shop4 .shop-logo {
  height: 420px;
}
.shop-logo img {
	height: 100%;
	width: auto;
}
.shop-info-logos p {
	line-height: 2.2;
	margin-bottom: 40px;
}




.shop-wrap .p-news {
	position: relative;
	padding: 120px 0;
}
.shop-wrap .p-news::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 60vw;
	height: 100%;
	margin: auto calc(50% - 30vw) 0;
	background: url(../img/home/bg_img.jpg) center center no-repeat;
	z-index: 0;
}
.shop-wrap .p-news__h2 {
	font-size: 45px;
	letter-spacing: .06em;
	font-weight: 600;
	margin-bottom: 80px;
}
.shop-wrap .p-news__post {
	position: relative;
    border-bottom: 2px solid #000;
    margin-bottom: 40px;
	z-index: 1;
}
.shop-wrap .p-news__post-link {
    position: relative;
    text-decoration: none;
    color: #000;
    display: flex;
    align-items: flex-start;
    padding-bottom: 40px;
}
.shop-wrap .p-news__post-right {
}
.shop-wrap .p-news__post-header {
    margin-bottom: 25px;
}
.shop-wrap .p-news__post-date {
    font-weight: 600;
    letter-spacing: 0.06em;
    display: inline-block;
    font-size: 15px;
    line-height: 1.05;
}
.shop-wrap .p-news__post-title {
    display: inline-block;
    margin-right: 50px;
	line-height: 2.2;
}
.shop-wrap .p-news__post-ico {
    width: 16px;
    height: 16px;
    position: absolute;
    top: 60px;
    right: 26px;
}
.shop-wrap .p-news__post-link img {
	width: 100%;
	height: 100%;
}
.shop-wrap .p-news__post-link .st_post {
  transition: all 0.5s ease;
}
.shop-wrap .p-news__post-link.-hover .st_post {
  fill: #000;
}


.shop-contents-footer {
	position: relative;
	background: #000;
}
.shop-contents-footer-Nav {
	background: #FFF;
	padding: 40px 0;
	font-weight: 600;
	letter-spacing: .06em;
}
.shop-contens-footer-inner {
	position: relative;	
}
.shop-contents-footer-Nav .foot-prevnext {
	position: absolute;
	right: 50px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
.foot-close {
	position: relative;
	padding-left: 50px;
	font-weight: 600;
	letter-spacing: .06;
	display: inline-block;
	cursor: pointer;
}
.foot-close::after, .foot-prev a::after, .foot-next a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 0;
	height: 1px;
	background: #000;
	transition: width .3s linear;
}
.foot-prev a::after, .foot-next a::after {
	bottom: 0;
}
.foot-close:hover::after, .foot-prev a:hover::after, .foot-next a:hover::after {
	width: 100%;	
}
.foot-close .bar {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 35px;
	height: 2px;
	background: #000;
}
.foot-close .bar:first-child {
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
.foot-close .bar:nth-child(2) {
	-webkit-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg);
}
.foot-prev {
	position: relative;
	padding: 0 30px 0 0;
	border-right: solid 3px #000;
}
.foot-prev.lastnavs {
	padding: 0;
	border-right: none;
}
.foot-next {
	position: relative;
	padding: 0 0 0 30px;
}
.foot-prev a , .foot-next a {
	position: relative;
	display: inline-block;
	cursor: pointer;
}
.foot-prev a {
	padding-left: 30px;
}
.foot-next a {
	padding-right: 30px;
}
.foot-prev p {
	position: absolute;
	top: 2px;
	left: 0;
	width: 30px;
}
.foot-next p {
	position: absolute;
	top: 2px;
	right: 0;
	width: 30px;
	text-align: right;
}
.foot-prev p img, .foot-next p img {
	width: 16px;
	top: 10px;
}
.shop-footer {
	text-align: center;
	padding: 50px 0;
	color: #FFF;
}
.shop-footer img {
	width: 303px;
	margin-bottom: 15px;
}
.shop-footer p {
	font-size: 18px;
}


.sideNav-wrap {
	position: fixed;
	top: 0;
	right: 30px;
	z-index: 99;
	width: 40px;
	font-weight: 600;
	letter-spacing: .06;
}
.side-close {
	position: relative;
	cursor: pointer;
}
.side-close::before {
	content: '';
	position: absolute;
	left: -5px;
	top: 20px;
	height: 0;
	width: 1px;
	background: #000;
	transition: height .3s linear;
}
.side-close:hover::before {
	height: calc(100% - 20px);
}
.side-close .bar {
	position: absolute;
	top: 40px;
	left: 50%;
	display: block;
	width: 50px;
	height: 2px;
	background: #000;
}
.side-close .bar:first-child {
	-webkit-transform: translateX(-50%) rotate(45deg);
	transform: translateX(-50%) rotate(45deg);
}
.side-close .bar:nth-child(2) {
	-webkit-transform: translateX(-50%) rotate(-45deg);
	transform: translateX(-50%) rotate(-45deg);
}
.side-close .text {
	position: relative;
	left: 50%;
	  -ms-writing-mode: tb-rl;
	  writing-mode: vertical-rl;
	display: inline-block;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	margin-top: 70px; 
}
.sideNav {
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.sideNav.flexed {
	margin-top: 50px;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
  	-webkit-box-orient: vertical;
  	-webkit-box-direction: reverse;
  	-ms-flex-direction: column-reverse;
  	flex-direction: column-reverse;
}
.side-prev {
	padding-top: 30px;
	margin-top: 30px;
	border-top: solid 2px #000;
}
.side-prev.lastnavs {
	padding-top: 0;
	margin-top: 0;
	border-top: none;
}
.side-prev a, .side-next a {
	position: relative;
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;	
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
  	-webkit-box-orient: vertical;
  	-webkit-box-direction: reverse;
  	-ms-flex-direction: column-reverse;
  	flex-direction: column-reverse;
	text-align: center;
	cursor: pointer;
}
.side-prev a::before, .side-next a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 0;
	background: #000;
	transition: height .3s linear;
}
.side-prev a:hover::before, .side-next a:hover::before {
	height: 100%;
}
.side-prev p img, .side-next p img {
	width: 16px;
	margin: 5px 0;
}
.side-prev p img {
	margin-top: 15px;
}
.side-prev span, .side-next span {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
	display: inline-block;
	margin-right: 7px;	
}



@media screen and (max-width: 1000px) {
	.shop-info--box {
		width: 100%;
	}
}



@media screen and (max-width: 767px) {
	.shop-wrap {
		padding-left: 0;
		letter-spacing: .08em;
		font-size: 14px;
	}
	.shop-slide {
		position: inherit;
		height: 300px;
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}
	.shop-slide-img {
		height: 300px;
	}
	.shop-contents {
		padding-bottom: 119px;	
	}
	.shop-inner, .shop-contens-footer-inner {
		padding: 0 20px;
	}
	.logo-diner {
		height: 30px;
	}
  #shop5 .logo-diner {
    height: 50px;
  }
	.shop-title {
		padding: 40px 0;
	}
	.shop-title h1 {
		font-size: 30px;
		line-height: 1.2;
		margin-bottom: 20px;
	}
	.shop-title-add p {
		margin-left: 10px;
		padding-left: 10px;
	}
	.shop-title-add p::before {
		height: 14px;	
	}
	
	.shop-info-wrap::before {
		width: 100vw;
		margin: auto calc(50% - 50vw);
	}
	.shop-info {
		position: relative;
		padding: 25px 0 40px;
		z-index: 1;
	}
	.shop-info--box dl {
		margin: 15px 0 0;
	}
	.shop-info--box dl dt {
		width: 100px;
		padding: 7px 0;
		background: #FFF;
		text-align: center;
		font-weight: bold;
	}
	.shop-info--box dl dd {
		padding: 0 0 0 20px;
	}
	.shop-info--box dl dd ul li {
		margin-right: 10px;
		width: 30px;
	}

	.shop-info-logos {
		padding: 60px 0;
	}
	.shop-logo {
		margin-bottom: 40px;
		height: 120px;
	}
	#shop4 .shop-logo {
		height: 400px;
	}
	.shop-info-logos p {
		line-height: 2;
		margin-bottom: 20px;
	}




	.shop-wrap .p-news {
		position: relative;
		padding: 60px 0 80px;
	}
	.shop-wrap .p-news::before {
		width: 100vw;
		margin: auto calc(50% - 50vw);
		background-size: cover;
	}
	.shop-wrap .p-news__h2 {
		font-size: 30px;
		letter-spacing: .04em;
		margin-bottom: 20px;
	}
	.shop-wrap .p-news__post-link {
		display: block;
		padding-bottom: 50px;
	}
	.shop-wrap .p-news__post-right {
		margin-left: 0;
		margin-top: 15px;
		width: 100%;
	}
	.shop-wrap .p-news__post-header {
		margin-bottom: 10px;
	}
	.shop-wrap .p-news__post-date {
		letter-spacing: 0.04em;
		font-size: 13px;
	}
	.shop-wrap .p-news__post-title {
		margin-right: 0;
		line-height: 1.8;
	}
	.shop-wrap .p-news__post-ico {
		display: none;
	}
	.shop-wrap .p-news__post-link span.mask {
		width: 100%;
	}
	.shop-wrap .p-news__post-right {
		width: 100%;
	}

	.shop-contents-footer {
		position: fixed;
    z-index: 9999;
    width: 100%;
    left: 0;
    bottom: 0;
	}
	
	.shop-contents-footer-Nav {
		padding: 20px 0;
		letter-spacing: .06em;
		font-size: 16px;
	}
	.shop-contents-footer-Nav .foot-prevnext {
		right: 20px;
	}
	.foot-close {
		padding-left: 35px;
	}
	.foot-close .bar {
		width: 25px;
	}
	.foot-prev {
		padding: 0 25px;
	}
	.foot-next {
		padding: 0 25px;
	}
	.foot-prev p {
		width: 25px;
	}
	.foot-next p {
		width: 25px;
	}
	.foot-prev p img, .foot-next p img {
		width: 15px;
		top: 10px;
	}
	.shop-footer {
		padding: 7px 0 5px;
	}
	.shop-footer img {
		width: auto;
		height: 35px;
		margin-bottom: 0;
	}
	.shop-footer p {
		display: none;
	}

	.sideNav-wrap {
		display: none;
	}
}
