@charset "utf-8";

:root {
	--black: #221815;
	--themecolor: #6d0000;
	--headerHeight: 80px;
}
@media screen and (max-width: 767px) {
	:root {
		--headerHeight: 56px;
	}
}

.l-loading {
	z-index: 2020;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background: #fff;*/
	background: rgba(255,255,255,.8);
	transition: opacity 1s;
}
.l-loading[style] {
	pointer-events: none;
}

#wrapper {
	position: relative;
	overflow: hidden;
	opacity: 0;
}
.loaded #wrapper {
	opacity: 1;
	transition: opacity .3s;
}
figure img {
	max-width: 100%;
}
.phrase {
	display: inline-block;
}
.tb-rl {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.ur {
	-webkit-text-orientation: upright;
	-ms-text-combine-horizontal: all;
	text-orientation: upright;
}
/* forSafari */
@media print, (min-width: 768px) {
	_::-webkit-full-page-media, _:future, :root .ur {
		position: relative;
		left: .25em;
	}
}
/* forIE */
@media all and (-ms-high-contrast:none) {
	.ur {
		position: relative;
		top: -.25em;
	}
}

/* :::::: temporary link :::::: */
a[data-href] {
	pointer-events: none;
	position: relative;
	opacity: .3;
}
header .en[data-href] {
	text-decoration: inherit;
}
/*a[data-href]::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: -.1em;
	width: calc(100% + .2em);
	height: 0;
	border-bottom: 1px solid;
}
.second-menu a[data-href]::after {
	top: 50%;
	left: .7em;
	width: calc(100% - 1.4em);
}*/

/**
 * Header
 * -------------------------------------------------- */
header,
header::before {
	z-index: 10;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--headerHeight);
}
header {
	padding: 0 24px;
}
header::before {
	content: "";
	z-index: -1;
	position: fixed;
	background: var(--black);
	transition: opacity .3s;
}
header.is-invisual::before {
	opacity: 0;
}
@media screen and (max-width: 767px) {
	header {
		padding: 0 16px;
	}
}
header .logo {
	position: fixed;
	top: 18px;
	left: 24px;
	line-height: 1;
	transition: opacity .6s .2s;
}
header img {
	display: inline-block;
	vertical-align: top;
}
body.menuOpen header .logo {
	opacity: 0;
	transition-delay: 0s;
}
header .logo a {
	display: block;
}
header .logo span {
	display: inline-block;
	margin-right: 24px;
}
header .logo img {
	width: auto;
	height: 42px;
}
header .logo:lang(en) img {
	top: -6px;
	height: 53px;
}
header .logo span {
	position: relative;
}
header .logo span img {
	position: absolute;
	top: 0;
	left: 0;
}
header.is-invisual .logo .w,
header:not(.is-invisual) .logo .b {
	position: relative;
	opacity: 0;
}
@media screen and (max-width: 767px) {
	header .logo {
		top: 13px;
		left: 16px;
	}
	header .logo span {
		margin-right: 16px;
	}
	header .logo img {
		height: 32px;
	}
	header .logo:lang(en) img {
		top: -4px;
		height: 36px;
	}
}
@media screen and (max-width: 374px) {
	header .logo span {
		margin-right: 8px;
	}
	header .logo img {
		height: 28px;
	}
	header .logo:lang(en) img {
		top: -3px;
		height: 32px;
	}
}
header .copy {
	position: absolute;
	left: 24px;
	top: 72px;
	width: 248px;
	line-height: 1;
}
header .copy:lang(en) {
	font-size: 1.9rem;
	white-space: nowrap;
	letter-spacing: 0;
}
header .copy img {
	max-width: 100%;
	transition: opacity .3s;
}
header .copy .w {
	display: none;
}
@media screen and (max-width: 767px) {
	header .copy {
		left: 16px;
		top: 50px;
		width: 150px;
	}
	header .copy:lang(en) {
		font-size: 1rem;
	}
}
@media screen and (max-width: 374px) {
	header .copy {
		top: 46px;
		width: 125px;
	}
}
header .en {
	position: fixed;
	right: 0;
	margin-right: 112px;
	font-size: 1.4rem;
	line-height: 80px;
	transition: color .3s;
}
header:not(.is-invisual) .en {
	color: #fff;
}
header .en:hover {
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	header .en {
		margin-right: 64px;
		line-height: 56px;
	}
	body.menuOpen header .en {
		pointer-events: none;
		color: transparent !important;
		transition-duration: .3s;
	}
}
@media screen and (max-width: 374px) {
	header .en {
		font-size: 1.1rem;
	}
}

/**
 * Footer
 * -------------------------------------------------- */
footer {
	z-index: 1;
	position: relative;
	background: #fff;
}
footer .logo {
	line-height: 1;
}
footer .logo span {
	display: inline-block;
	margin-right: 24px;
}
footer .logo img {
	width: auto;
	height: 48px;
}
footer .logo:lang(en) img {
	height: 60px;
}
footer .logo,
footer .copyright {
	padding: 0 64px;
}
footer .copyright {
	padding-bottom: 64px;
	font-size: 1.1rem;
	text-align: right;
	text-transform: uppercase;
	letter-spacing: .15em;
}
@media screen and (max-width: 767px) {
	footer #pagetop {
		margin-bottom: 40px;
		font-size: 1.2rem;
		line-height: 6.4rem;
	}
	footer .logo img {
		height: 32px;
	}
	footer .logo:lang(en) img {
		top: -4px;
		height: 36px;
	}
	footer {
		text-align: center;
	}
	footer .logo,
	footer .copyright {
		padding: 0 16px;
		text-align: center;
	}
	footer .logo {
		margin-bottom: 24px;
	}
	footer .copyright {
		padding-bottom: 16px;
	}
}
@media screen and (max-width: 374px) {
	footer .logo:lang(en) img {
		top: -3px;
		height: 32px;
	}
}

#pagetop {
	display: block;
	position: relative;
	margin-bottom: 80px;
	padding: 0;
	color: var(--themecolor);
	font-size: 1.4rem;
	line-height: 11.2rem;
	font-weight: inherit;
	text-align: center;
	text-indent: .18em;
	text-decoration: inherit;
	text-transform: uppercase;
	letter-spacing: .18em;
	background: #f2f2f2;
}
#pagetop .hov {
	position: absolute;
	top: .05px;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	color: #f2f2f2;
	font-weight: inherit;
	background: #000;
}
#pagetop.anima .hov {
	transition: clip .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#pagetop::before,
#pagetop .hov::before {
	content: "";
	z-index: 1;
	position: absolute;
	bottom: calc(50% + 1.2em);
	left: 50%;
	border-left: 1px solid var(--themecolor);
	height: 64px;
}
#pagetop .hov::before {
	border-color: #f2f2f2;
}

/* --------------------------------------------------------------------------
   menuToggle
   -------------------------------------------------------------------------- */
#menuToggle {
	z-index: 1001;
	position: fixed;
	top: 0;
	right: 0;
	width: 80px;
	height: 80px;
	border: 0;
	color: #fff;
	font-size: 1.1rem;
	text-align: center;
	background: var(--black);
}
#menuToggle .bar,
#menuToggle .bar::before,
#menuToggle .bar::after {
	position: absolute;
	height: 1px;
	background: #fff;
}
#menuToggle .bar {
	top: 38%;
	left: 25%;
	width: 50%;
	transition: background .3s, transform .3s cubic-bezier(0.19, 1, 0.22, 1);
}
#menuToggle .bar::before,
#menuToggle .bar::after {
	content: "";
	display: block;
	width: 100%;
	transition: top .3s .3s, transform .6s;
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
#menuToggle .bar::before { top: -9px; }
#menuToggle .bar::after { top: 9px; }
body.menuOpen #menuToggle .bar {
	background: rgba(255,255,255,0);
}
body.menuOpen #menuToggle .bar::before,
body.menuOpen #menuToggle .bar::after {
	top: 0;
	transition-delay: 0s, .3s;
}
body.menuOpen #menuToggle .bar::before {
	transform: scaleX(1.14) rotate(-30deg);
}
body.menuOpen #menuToggle .bar::after {
	transform: scaleX(1.14) rotate(30deg);
}
#menuToggle .open,
#menuToggle .close {
	position: absolute;
	bottom: 24%;
	left: 0;
	width: 100%;
	line-height: 1;
	text-indent: .3em;
	letter-spacing: .3em;
	transition: opacity .3s .3s, transform .6s .3s cubic-bezier(0.19, 1, 0.22, 1);
}
#menuToggle .close {
	text-indent: .15em;
	letter-spacing: .15em;
}
body:not(.menuOpen) #menuToggle .close,
body.menuOpen #menuToggle .open {
	opacity: 0;
	transform: translateY(-1em);
	transition-delay: 0s;
}
@media screen and (max-width: 767px) {
	#menuToggle {
		top: 4px;
		right: 4px;
		width: 48px;
		height: 48px;
		font-size: .8rem;
	}
	#menuToggle .bar::before {
		top: -6px;
	}
	#menuToggle .bar::after {
		top: 6px;
	}
	#menuToggle .open,
	#menuToggle .close {
		bottom: 15%;
		text-indent: .2em;
		letter-spacing: .1em;
	}
	#menuToggle .close {
		text-indent: .1em;
		letter-spacing: 0;
	}
}
#menuToggle .hov {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #000;
	background: #f2f2f2;
}
#menuToggle .hov .bar,
#menuToggle .hov .bar::before,
#menuToggle .hov .bar::after {
	background: #000;
}
#menuToggle.anima .hov {
	transition: clip .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}


/* --------------------------------------------------------------------------
   modalMenu
   -------------------------------------------------------------------------- */
#modalMenu,
#modalMenu .overlay {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#modalMenu {
	z-index: 1000;
	position: fixed;
	fill: inherit;
}
#modalMenu.anima {
	transition: z-index .6s, opacity .6s;
	will-change: opacity;
}
#modalMenu nav {
	position: absolute;
	overflow: auto;
	top: 0;
	height: 100%;
	background: url(../img/bg_menu.jpg) center top;
}
#modalMenu.anima nav {
	transition: transform .6s cubic-bezier(0.19, 1, 0.22, 1);
	will-change: transform;
}
#modalMenu .overlay {
	z-index: -1;
	position: absolute;
	background: rgba(18,18,18,.5);
}
body:not(.menuOpen) #modalMenu {
	pointer-events: none;
	/*z-index: -1;*/
	opacity: 0;
	transition-delay: .2s;
}
body.menuOpen #modalMenu nav {
	transition-delay: .2s;
	-webkit-overflow-scrolling: touch;
}
@media print, (min-width: 768px) {
	#modalMenu nav {
		right: 0;
		width: 30%;
		min-width: 416px;
		padding: 120px 0 64px 88px;
	}
	#modalMenu nav:lang(en) {
		padding: 92px 0 64px 88px;
	}
	body:not(.menuOpen) #modalMenu nav {
		transform: translateX(100%);
	}
}
@media screen and (max-width: 767px) {
	#modalMenu nav {
		left: 0;
		width: calc(100% - 56px);
		max-width: 280px;
	}
	body:not(.menuOpen) #modalMenu nav {
		transform: translateX(-100%);
	}
}
@media screen and (max-height: 500px) {
	#modalMenu {
		padding-top: 50px;
	}
}

#modalMenu .logo {
	line-height: 1;
}
#modalMenu .logo span {
	display: inline-block;
}
#modalMenu .logo .neboke {
	margin-left: 24px;
}
#modalMenu .logo img {
	width: auto;
	vertical-align: top;
}
#modalMenu nav a {
	display: inline-block;
	padding: .2em 0;
	letter-spacing: .15em;
}
#modalMenu nav a:hover {
	fill: var(--themecolor);
	color: var(--themecolor);
	text-decoration: inherit;
}
#modalMenu .main-menu,
#modalMenu .second-menu {
	line-height: 1.8;
	font-weight: 500;
}
#modalMenu .main-menu a:lang(en) {
	padding: .5em 0;
	line-height: 1.2;
	letter-spacing: .05em;
}
#modalMenu .second-menu li:nth-child(-n+2) a:lang(ja) {
	text-indent: -.5em;
}
#modalMenu .second-menu a:lang(en) {
	letter-spacing: .12em;
}
#modalMenu .second-menu li:nth-last-child(-n+2) {
	font-size: 1rem;
	font-weight: 700;
}
@media print, (min-width: 768px) {
	#modalMenu .logo.sp {
		display: none;
	}
	#modalMenu .logo {
		position: fixed;
		top: 18px;
		left: 24px;
	}
	#modalMenu .logo,
	#modalMenu .logo img {
		height: 42px;
	}
	#modalMenu .logo:lang(en),
	#modalMenu .logo:lang(en) img {
		height: 53px;
	}
	#modalMenu .logo:lang(en) img {
		margin-top: -6px;
	}
	#modalMenu .main-menu {
		margin-bottom: .3em;
		font-size: 2.4rem;
	}
	#modalMenu .main-menu:lang(en) {
		margin-bottom: 16px;
	}
	#modalMenu .second-menu {
		font-size: 1.9rem;
	}
	#modalMenu .second-menu li:nth-last-child(2) {
		margin-top: .8em;
	}
	#modalMenu .second-menu li:nth-last-child(2):lang(en) {
		margin-top: 32px;
	}
	#modalMenu .second-menu li:nth-last-child(-n+2) a {
		padding: .5em 0;
	}
}
@media screen and (max-width: 767px) {
	#modalMenu .logo.pc {
		display: none;
	}
	#modalMenu .logo {
		padding: 12px 24px;
	}
	#modalMenu .logo .neboke {
		margin-left: 16px;
	}
	#modalMenu .logo img {
		height: 32px;
	}
	#modalMenu .logo:lang(en) img {
		margin-top: -4px;
		height: 36px;
	}
	#modalMenu .main-menu {
		font-size: 2.1rem;
	}
	#modalMenu .main-menu a:lang(en) {
		padding: .8em 24px;
		line-height: 1;
	}
	#modalMenu .second-menu {
		font-size: 1.6rem;
	}
	#wrapper[data-page="home"] #modalMenu .second-menu {
		padding-bottom: 64px;
	}
	#modalMenu nav li {
		border-bottom: 1px solid #b0b0b0;
	}
	#modalMenu nav a {
		display: block;
		padding: 0 24px;
		line-height: 54px;
	}
}
@media screen and (max-width: 374px) {
	#modalMenu .logo:lang(en) img {
		margin-top: -3px;
		height: 32px;
	}
}

#modalMenu .ico_w {
	position: relative;
	top: -.05em;
	width: 11px;
	height: 10px;
	vertical-align: middle;
}
#modalMenu .second-menu .ico_w {
	margin-left: .3em;
}
#modalMenu .fb {
	display: inline-block;
	line-height: 0;
	margin-top: 16px;
}
#modalMenu .fb svg {
	width: 20px;
	height: 20px;
	fill: #919191;
}


/* --------------------------------------------------------------------------
   pathline
   -------------------------------------------------------------------------- */
#pathline {
	pointer-events: none;
	position: absolute;
}
:where(main:not(#home) #pathline) {
	z-index: -1;
}
:where(main:not(#home) #pathline)e::before,
:where(main:not(#home) #pathline)::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 200px;
}
main:not(#home) pathline::before {
	top: 0;
	background: linear-gradient(to bottom, #fff, rgba(255,255,255,0));
}
:where(main:not(#home) #pathline)::after {
	bottom: 0;
	background: linear-gradient(to top, #fff, rgba(255,255,255,0));
}
:where(main:not(#home) #pathline) svg {
	fill: none;
	stroke: #817600;
}
@media print, (min-width: 768px) {
	:where(main:not(#home) #pathline) {
		left: calc(50vw - (2000 / 1366 * 50vw));
		width: calc(2000 / 1366 * 100vw);
	}
}
@media print, (min-width: 1366px) {
	:where(main:not(#home) #pathline) {
		top: calc(-1366px * 1.4);
		left: calc(50% - 1000px);
		max-width: 2000px;
	}
}
@media screen and (max-width: 767px) {
	:where(main:not(#home) #pathline) {
		top: -280vw;
		left: calc(50vw - (2000 / 640 * 50vw));
		width: calc(2000 / 640 * 100vw);
		opacity: .3;
	}
	:where(main:not(#home) #pathline) svg {
		stroke-width: 2px;
	}
}


/* --------------------------------------------------------------------------
   タイトル
   -------------------------------------------------------------------------- */
.s-title,
.l-title {
	font-weight: 700;
	text-align: center;
}
.l-title rt {
	font-size: 30%;
}
.s-title {
	margin-bottom: 32px;
	font-size: 3.2rem;
}
.l-title {
	margin-bottom: 96px;
	font-size: 5rem;
}
.l-title:lang(en) {
	font-family: 'Unna', serif;
}
@media screen and (max-width: 767px) {
	.s-title {
		margin-bottom: 16px;
		font-size: 2rem;
	}
	.l-title {
		margin-bottom: 40px;
		font-size: 2.5rem;
	}
}
/* forFirefox */
@-moz-document url-prefix() {
	.l-title rt { position: relative; top: .5em; }
}
/* forSafari,Chrome */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	.l-title rt { transform: translateY(-.5em); }
}
/* forSafari */
_::-webkit-full-page-media, _:future, :root .l-title rt { transform: translateY(.5em); }


/* --------------------------------------------------------------------------
   固定バナー
   -------------------------------------------------------------------------- */
@media print, (min-width: 768px) {
	.fixed-banner {
		z-index: 3;
		position: fixed;
		bottom: 0;
		left: 0;
		margin-bottom: 12px;
	}
	.fixed-banner.is-abs {
		position: absolute;
		top: auto;
		bottom: 998px;
	}
	.fixed-banner li:nth-child(2) {
		margin-top: -5px;
	}
	.fixed-banner a {
		display: block;
		width: 246px;
		height: 104px;
		transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.fixed-banner a {
		transform: translateX(-100%);
	}
	.fixed-banner.is-active a {
		transform: none;
	}
	.fixed-banner.is-fixed a {
		transform: translateX(-105px);
	}
	.fixed-banner a:hover {
		transform: none;
	}
	.fixed-banner img {
		max-width: 100%;
	}
	.fixed-banner.is-anim a {
		transition-duration: 1s;
	}
	.fixed-banner.is-anim li:nth-child(2) a {
		transition-delay: .1s;
	}
}
@media screen and (max-width: 767px) {
	.fixed-banner {
		display: none;
	}
}

/* --------------------------------------------------------------------------
   お取り寄せ／店舗一覧
   -------------------------------------------------------------------------- */
#relation {
	z-index: 1;
	position: relative;
	overflow: hidden;
}
/*#relation .test {
	position: absolute;
	bottom: 0;
	left: -1em;
	width: 2em;
	height: .1em;
	background: white;
}*/
.relation-takeout {
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
	height: 528px;
	position: relative;
	color: #fff;
	font-size: 4.8rem;
	line-height: 1.4;
	text-align: center;
}
.relation-takeout::before,
.relation-takeout::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.relation-takeout::before {
	background: url(../img/img_footer_takeout.jpg) center / cover no-repeat;
	will-change: transform;
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.relation-takeout:hover::before {
	transition-duration: .3s;
}
.relation-takeout::after {
	background: rgba(0,0,0,.3);
}
.relation-takeout[href]:hover {
	text-decoration: none;
}
.relation-takeout b {
	z-index: 1;
	position: relative;
	font-weight: 900;
}
@media (hover: hover) {
	.relation-takeout:hover::before {
		transform: scale(1.04);
	}
}
@media screen and (max-width: 767px) {
	.relation-takeout {
		height: 218px;
		font-size: 2.2rem;
	}
}
.relation-container::after {
	content: "";
	display: block;
	clear: both;
}
.relation-container a {
	display: flex;
	align-items: center;
	position: relative;
	float: left;
	width: 50%;
	padding: 80px;
	will-change: opacity, transform;
}
.relation-container a:not([href]) {
	opacity: .5;
}
.relation-container b {
	z-index: 1;
	color: #fff;
	fill: currentcolor;
}
.relation-container .order {
	padding-right: 0;
	justify-content: flex-end;
}
.relation-container .shop {
	padding-left: 0;
}
#relation::before,
#relation::after {
	z-index: -1;
	content: "";
	position: absolute;
	top: 0;
	width: 50%;
	height: 100%;
}
#relation::before {
	left: 0;
	background: url(../img/bg_paper_order.jpg) center;
}
#relation::after {
	right: 0;
	background: url(../img/bg_paper_shop.jpg) center;
}
.relation-container .order svg {
	width: 50px;
	height: 400px;
}
.relation-container .shop svg {
	width: 48px;
	height: 199px;
}
.relation-container figure {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 475px;
	height: 500px;
	background: #000;
}
.relation-container .shop figure {
	order: -1;
}
.relation-container figure::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.relation-container .order figure::after {
	background: url(../img/img_order.jpg) center / cover no-repeat;
}
.relation-container .order:lang(en) figure::after {
	background-image: url(../img/en/img_order.jpg);
}
.relation-container .shop figure::after {
	background: url(../img/img_shop.jpg) center / cover no-repeat;
}
.relation-container figure img {
	opacity: 0;
}
.relation-container b:lang(en) {
	line-height: 1;
	font-family: 'Unna', serif;
	text-shadow: 0 0 20px rgba(0,0,0,.25);
}
@media print, (min-width: 768px) {
	.relation-container a {
		perspective: 1000px;
		will-change: opacity, filter;
	}
	.relation-container a b,
	.relation-container a figure {
		will-change: transform;
	}
	.relation-container .order {
		perspective-origin: center;
	}
	.relation-container .shop {
		perspective-origin: center;
	}
	.relation-container b:lang(ja) {
		padding: 0 40px;
	}
	.relation-container b:lang(en) {
		z-index: 1 !important;
		position: absolute;
		top: calc(50% - .5em);
		font-size: 6rem;
	}
	.relation-container .order b:lang(en) {
		left: 80px;
	}
	.relation-container .shop b:lang(en) {
		right: 80px;
	}
	@-moz-document url-prefix() {
		.relation-container b {
			padding: 0;
			margin: 0 40px;
		}
	}
	#relation:not(.js-effect) .order {
		z-index: 1;
	}
	#relation:not(.js-effect) .order b {
		transform: translate3d(70px, 0px, 150px);
	}
	#relation:not(.js-effect) .order figure {
		transform: translate3d(50px, 0px, 100px);
	}
	#relation:not(.js-effect) .shop {
		opacity: .5;
		filter: blur(7px);
		pointer-events: none;
	}
	#relation:not(.js-effect) .shop b {
		transform: translate3d(-70px, 0px, -150px);
	}
	#relation:not(.js-effect) .shop figure {
		transform: translate3d(-50px, 0px, -100px);
	}
}
@media screen and (min-width: 1366px) {
	.relation-container .order b:lang(en) {
		left: calc(100% - 475px - 80px);
	}
	.relation-container .shop b:lang(en) {
		right: calc(100% - 475px - 80px);
	}
}
@media screen and (max-width: 1365px) {
	.relation-container a {
		padding: 80px 40px;
	}
}
@media screen and (max-width: 767px) {
	.relation-container a {
		padding: 40px;
	}
	.relation-container b {
		position: absolute;
	}
	.relation-container b:lang(en) {
		top: 50%;
		left: 50%;
		font-size: 2.2rem;
		white-space: nowrap;
		transform: translate(-50%, -50%);
	}
	.relation-container .order b:lang(ja) {
		top: calc(50% - 90px);
		left: calc(50% - 13px + 20px);
	}
	.relation-container .order svg {
		width: 25px;
		height: 180px;
	}
	.relation-container .shop b:lang(ja) {
		top: calc(50% - 50px);
		right: calc(50% - 12px + 20px);
	}
	.relation-container .shop svg {
		width: 24px;
		height: 100px;
	}
	.relation-container a:lang(en)::before {
		content: "";
		position: absolute;
		top: calc(50% - 68px);
		width: 136px;
		height: 136px;
		opacity: .1;
		background: url(../img/logo_symbol_w.svg) center / cover no-repeat;
	}
	.relation-container .order:lang(en)::before {
		left: -40px;
	}
	.relation-container .shop:lang(en)::before {
		right: -40px;
	}
	.relation-container figure {
		width: calc(50vw - 20px);
		height: auto;
		min-height: 200px;
		background-color: #000;
	}
	.relation-container figure::after {
		opacity: .5;
	}
}
@media screen and (max-width: 374px) {
	.relation-container b:lang(en) {
		font-size: 2.4rem;
	}
}

/* :::::: hover effect ::::::
@media print, (min-width: 768px) {
	.relation-container a {
		transition: z-index 1s, transform .8s;
	}
	.relation-container .order {
		transform-origin: 100% 50%;
	}
	.relation-container .shop {
		transform-origin: 0 50%;
	}
	.relation-container a:hover {
		z-index: 1;
	}
	.relation-container:hover .order b {
		transform: scale(.8) translateX(100px);
	}
	.relation-container:hover .shop b {
		transform: scale(.8) translateX(-100px);
	}
	.relation-container:hover .order figure {
		transform: scale(.8) translateX(32px);
	}
	.relation-container:hover .shop figure {
		transform: scale(.8) translateX(-32px);
	}
	.relation-container a figure {
		transition: filter 1s, transform 1s;
	}
	.relation-container:hover a figure {
		filter: blur(8px);
	}
	.relation-container:hover a:hover figure {
		filter: none;
	}
	.relation-container:hover .order:hover figure {
		transform: scale(1.1) translateX(104px);
	}
	.relation-container:hover .shop:hover figure {
		transform: scale(1.1) translateX(-104px);
	}
	.relation-container a b {
		transition: transform 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.relation-container .order:hover b {
		transform: scale(1.1) translateX(380px);
	}
	.relation-container .shop:hover b {
		transform: scale(1.1) translateX(-380px);
	}
}
@media screen and (max-width: 1365px) and (min-width: 768px) {
	.relation-container .order:hover b {
		transform: translateX(33vw);
	}
	.relation-container .shop:hover b {
		transform: translateX(-33vw);
	}
} */


/* --------------------------------------------------------------------------
   コンポーネント
   -------------------------------------------------------------------------- */

.section-title {
	z-index: 1;
	position: relative;
}
.section-title:lang(en) {
	font-family: 'Unna', serif;
}
.section-title .num {
	width: 47px;
	height: 69px;
	fill: var(--themecolor);
}
@media print, (min-width: 768px) {
	.section-title {
		pointer-events: none;
		position: absolute;
		top: 0;
		text-align: left;
		text-align: start;
	}
	.section-title .num {
		position: absolute;
	}
}
@media screen and (max-width: 767px) {
	.section-title {
		display: inline-block;
		margin-bottom: calc(24vw / 3.75);
	}
	.section-title:lang(en) {
		display: block;
		margin-bottom: calc(12vw / 3.75);
	}
	.section-title:lang(en) .main {
		text-align: left;
	}
	.section-title .num {
		width: calc(15vw / 3.75);
		height: calc(22vw / 3.75);
		margin-bottom: calc(16vw / 3.75);
	}
}
@media screen and (max-width: 374px) {
	.section-title {
		margin-bottom: 24px;
	}
	.section-title:lang(en) {
		margin-bottom: 12px;
	}
	.section-title .num {
		width: 15px;
		height: 22px;
		margin-bottom: 16px;
	}
}

/* :::::: btn-clip :::::: */
.btn {
	display: inline-block;
	padding: 1em;
	color: #fff;
	font-weight: 600;
	background: var(--black);
	text-decoration: inherit !important;
}
.btn[data-clip] {
	position: relative;
}
.btn-clip {
	position: relative;
}
.btn-clip .hov,
.btn[data-clip] .hov {
	position: absolute;
	top: -.1px;
	left: 0;
	overflow: hidden;
	min-width: inherit;
	padding: inherit;
	color: var(--themecolor);
	font-weight: inherit;
	white-space: inherit;
	background: #f2f2f2;
	clip-path: inset(0 0 100%);
}
.btn-clip:lang(en) .hov,
.btn[data-clip]:lang(en) .hov {
	width: 100%;
	height: 100%;
}
.btn-clip.is-motion .hov,
.btn[data-clip].is-motion .hov {
	transition: clip-path .4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* :::::: txt-container :::::: */
.txt-container {
	text-align: left;
}
.txt-container p {
	font-kerning: normal;
	font-feature-settings: "palt";
}
.txt-container a {
	color: var(--themecolor);
	text-decoration: underline;
}
@media print, (min-width: 768px) {
	.txt-container {
		position: absolute;
	}
	.txt-container .tb-rl {
		z-index: 1;
		padding: 152px;
		box-sizing: content-box;
		background: rgba(255,255,255,.7);
	}
	.txt-container.tb-rl {
		display: inline-block;
		position: relative;
		background: rgba(255,255,255,.7);
	}
	.main-visual .txt-container:lang(en) {
		display: inline-block;
		position: relative;
	}
	.txt-container:lang(en) {
		max-width: 620px;
		background: rgba(255,255,255,.7);
	}
	.txt-container p:lang(ja) {
		white-space: nowrap;
	}
	.txt-container p:lang(en) {
		line-height: 1.8;
	}
	.tb-rl a {
		text-decoration: overline;
	}
	.txt-container a:hover {
		text-decoration: inherit;
	}
}
@media screen and (min-width: 1366px) {
	.txt-container:lang(en) {
		padding: 96px;
	}
}
@media screen and (max-width: 1365px) and (min-width: 768px) {
	.txt-container:lang(en) {
		padding: 48px;
	}
}
@media screen and (max-width: 767px) {
	.txt-container {
		margin: 32px 0 0;
	}
	.txt-container.tb-rl,
	.txt-container .tb-rl {
		-webkit-writing-mode: inherit;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
	}
	.txt-container br { display: none; }
}
/* forIE */
@media screen and (-ms-high-contrast: none) and (min-width: 768px) {
	.txt-container p {
		font-feature-settings: normal;
	}
	.tb-rl a {
		text-decoration: inherit;
		border-left: 1px solid var(--themecolor);
	}
	.tb-rl a:hover {
		border-left: 0;
	}
}

/* :::::: photo-container :::::: */
@media print, (min-width: 768px) {
	.photo-container li {
		position: absolute;
	}
	.photo-container li.sp {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.photo-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.photo-container li {
		flex-grow: 1;
	}
	.photo-container li.pc {
		display: none;
	}
	.photo-container .photo-2:last-child {
		margin-right: calc(66.666666% + 4px);
	}
	.photo-container .photo-3:last-child {
		margin-right: calc(33.333333% + 1px);
	}
	.photo-container li:not(:first-child) {
		flex-basis: calc(33.333333% - 2.666666px);
		max-width: calc(33.333333% - 2.666666px);
		padding-top: 4px;
	}
}
@media screen and (max-width: 567px) {
	.photo-container .photo-2:last-child {
		margin-right: calc(66.666666% + 2px);
	}
	.photo-container .photo-3:last-child {
		margin-right: calc(33.333333% + 1px);
	}
	.photo-container li:not(:first-child) {
		flex-basis: calc(33.333333% - 1.333333px);
		max-width: calc(33.333333% - 1.333333px);
		padding-top: 2px;
	}
}

/* :::::: conclusion-container :::::: */
.conclusion-container {
	text-align: left;
}
.conclusion-container.c-symbol::before,
.conclusion-container .c-symbol::before {
	opacity: .05;
}
.kodawari-section .btn {
	display: inline-block;
	margin-top: 64px;
	padding: 64px;
	background: var(--themecolor);
}
.kodawari-section .btn:lang(en) {
	font-size: 3rem;
	font-weight: 400;
}
.conclusion-container h2:lang(en) {
	line-height: 1.2;
	font-family: 'Unna', serif;
	text-align: left;
}
@media print, (min-width: 768px) {
	.conclusion-container:lang(ja) {
		display: flex;
		flex-direction: row-reverse;
		justify-content: center;
	}
	.conclusion-container:lang(en) {
		text-align: center;
	}
	.conclusion-container h2 {
		margin-left: 24px;
	}
	.conclusion-container h2:lang(en) {
		display: inline-block;
		font-size: 5rem;
	}
	.conclusion-container .lead-wrap {
		padding: 72px 0;
	}
	.conclusion-container .lead-wrap:lang(en) {
		max-width: 640px;
		margin: 0 auto;
		padding: 40px 0;
		text-align: left;
	}
	.conclusion-container .tb-rl {
		display: inline-block;
	}
	.conclusion-container p {
		margin: 0 16px;
		line-height: 2;
	}
	.conclusion-container p:lang(ja) {
		white-space: nowrap;
	}
	.kodawari-section .btn:lang(en) {
		min-width: 640px;
	}
}
@media print, (min-width: 1366px) {
	.conclusion-container p:lang(ja) {
		margin: 0 24px;
		line-height: 2.4;
	}
}
@media screen and (max-width: 767px) {
	.conclusion-container h2 {
		margin-bottom: calc(32vw / 3.75);
		text-align: center;
	}
	.conclusion-container h2:lang(en) {
		font-size: 2.5rem;
	}
	.conclusion-container .tb-rl {
		-webkit-writing-mode: inherit;
		-ms-writing-mode: inherit;
		writing-mode: inherit;
	}
	.conclusion-container p {
		line-height: 1.8;
	}
	.conclusion-container p br {
		display: none;
	}
	.kodawari-section .btn {
		margin-top: calc(32vw / 3.75);
	}
	.kodawari-section .btn:lang(ja) {
		padding: calc(32vw / 3.75);
	}
	.kodawari-section .btn:lang(en) {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 374px) {
	.conclusion-container h2 {
		margin-bottom: 32px;
	}
	.kodawari-section .btn {
		margin-top: 32px;
		padding: 32px;
	}
	.kodawari-section .btn:lang(en) {
		width: 100%;
		padding: 32px 16px;
	}
}

/* :::::: c-symbol :::::: */
.c-symbol {
	position: relative;
}
.c-symbol::before {
	content: "";
	position: absolute;
	top: calc(50% - 200px);
	left: calc(50% - 200px);
	width: 400px;
	height: 400px;
	background: url(../img/logo_symbol.svg) center / contain no-repeat;
	opacity: .15;
}
@media screen and (max-width: 767px) {
	.c-symbol::before {
		top: calc(50% - 150px);
		left: calc(50% - 150px);
		width: 300px;
		height: 300px;
	}
}
@media screen and (max-width: 567px) {
	.c-symbol::before {
		top: calc(50% - 115px);
		left: calc(50% - 115px);
		width: 230px;
		height: 230px;
	}
}

/* :::::: c-dropshadow :::::: */
.c-dropshadow {
	display: inline-block;
}
.c-dropshadow,
.c-dropshadow img {
	position: relative;
}
.c-dropshadow img {
	z-index: 1;
}
.c-dropshadow::before {
	content: "";
	position: absolute;
	top: 56px;
	left: -56px;
	width: 100%;
	height: 100%;
	background: url(../img/bg_paper.jpg) center top;
}

/* :::::: js-para :::::: */
.js-para.velocity-animating {
	will-change: transform;
}
.js-para[data-depth] img.velocity-animating {
	will-change: transform;
}
/* forSafari */
@media print, (min-width: 768px) {
	.js-para {
		will-change: transform;
	}
	.js-para[data-depth] img {
		will-change: transform;
	}
}
@media print, (min-width: 768px) {
	.js-para[data-para],
	.js-para[data-depth] {
		display: block;
	}
	.js-para[data-depth] {
		position: relative;
		overflow: hidden;
		width: 100%;
		height: 0;
	}
	.js-para[data-depth] img {
		position: absolute;
		top: 0;
		left: 0;
	}
	.js-para[data-depth] img:not([style]) {
		top: 50%;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 767px) {
}

/* :::::: helper :::::: */
.h-mt-1 { margin-top: 8px; }
.h-mt-2 { margin-top: 16px; }
.h-mt-3 { margin-top: 24px; }
.h-mt-4 { margin-top: 32px; }
.h-mt-5 { margin-top: 40px; }

.h-mb-1 { margin-bottom: 8px; }
.h-mb-2 { margin-bottom: 16px; }
.h-mb-3 { margin-bottom: 24px; }
.h-mb-4 { margin-bottom: 32px; }
.h-mb-5 { margin-bottom: 40px; }

/* --------------------------------------------------------------------------
   photoswipe
   -------------------------------------------------------------------------- */
.pswp {
	display: none;
	z-index: 1500;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;
	-ms-touch-action: none;
	touch-action: none;
	-webkit-text-size-adjust: 100%;
	-webkit-backface-visibility: hidden;
	outline: none;
}
.pswp * {
	box-sizing: border-box;
}
.pswp img {
	max-width: none;
}
.pswp--animate_opacity {
	opacity: 0.001;
	will-change: opacity;
	transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}
.pswp--open {
	display: block;
}
.pswp--zoom-allowed .pswp__img {
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}
.pswp--zoomed-in .pswp__img {
	cursor: -webkit-grab;
	cursor: -moz-grab;
	cursor: grab;
}
.pswp--dragging .pswp__img {
	cursor: -webkit-grabbing;
	cursor: -moz-grabbing;
	cursor: grabbing;
}

/* :::::: bg :::::: */
.pswp__bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.9);
	opacity: 0;
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	will-change: opacity;
}

/* :::::: scroll-wrap :::::: */
.pswp__scroll-wrap {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.pswp__container,
.pswp__zoom-wrap {
	-ms-touch-action: none;
	touch-action: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

/* :::::: scroll-wrap :::::: */
.pswp__container,
.pswp__img {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
}
.pswp__zoom-wrap {
	position: absolute;
	width: 100%;
	-ms-transform-origin: left top;
	transform-origin: left top;
	transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
}
.pswp__bg {
	will-change: opacity;
	transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}
.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
	transition: none;
}
.pswp__container,
.pswp__zoom-wrap {
	-webkit-backface-visibility: hidden;
}

/* :::::: item :::::: */
.pswp__item {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	overflow: hidden;
}

.pswp__img {
	position: absolute;
	width: auto;
	height: auto;
	top: 0;
	left: 0;
}
.pswp__img--placeholder {
	-webkit-backface-visibility: hidden;
}
.pswp__img--placeholder--blank {
	background: #222;
}
.pswp--ie .pswp__img {
	width: 100% !important;
	height: auto !important;
	left: 0;
	top: 0;
}

/* :::::: error-msg :::::: */
.pswp__error-msg {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	text-align: center;
	font-size: 1.4rem;
	line-height: 16px;
	margin-top: -8px;
	color: #ccc;
}
.pswp__error-msg a {
	color: #ccc;
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   photoswipe-ui
   -------------------------------------------------------------------------- */
.pswp__ui {
	-webkit-font-smoothing: auto;
	visibility: visible;
	opacity: 1;
	z-index: 1550;
}
.pswp__top-bar {
	height: auto;
	width: 100%;
}

/* :::::: button :::::: */
.pswp__button {
	width: 44px;
	height: 44px;
	position: relative;
	background: none;
	cursor: pointer;
	overflow: visible;
	-webkit-appearance: none;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
	float: right;
	opacity: .6;
	transition: opacity .2s;
	box-shadow: none;
}
.pswp__button:focus,
.pswp__button:hover {
	opacity: 1;
}
.pswp__button:active {
	outline: none;
	opacity: .9;
}
.pswp__button:: -moz-focus-inner {
	padding: 0;
	border: 0;
}
.pswp__button svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: #fff;
	stroke-width: 4px;
	pointer-events: none;
}
.pswp__button svg .p {
	stroke-width: 2px;
}
.pswp__button svg .b {
	stroke-width: 6px;
}

/* :::::: close :::::: */
.pswp--touch .pswp__top-bar {
	position: static;
}
.pswp--touch .pswp__button--close {
	z-index: 1;
	position: absolute;
	top: 0;
	right: 0;
}
.pswp__ui--over-close .pswp__button--close {
	opacity: 1;
}

/* :::::: zoom :::::: */
.pswp__button--zoom {
	display: none;
}
.pswp--zoom-allowed .pswp__button--zoom {
	display: block;
}
.pswp--zoomed-in .pswp__button--zoom .v {
	stroke: transparent;
}

/* :::::: arrow :::::: */
.pswp__button--arrow--left,
.pswp__button--arrow--right {
	background: none;
	top: 50%;
	margin-top: -50px;
	width: 50px;
	height: 100px;
	position: absolute;
	background-color: rgba(255,255,255,.8);
}
.pswp__button--arrow--left {
	left: 0;
}
.pswp__button--arrow--right {
	right: 0;
}
.pswp__button--arrow--left svg,
.pswp__button--arrow--right svg {
	stroke: #000;
	stroke-miterlimit: 1;
}
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
	/*visibility: hidden;*/
	top: auto;
	bottom: 4px;
	width: 44px;
	height: 44px;
}
.pswp--touch .pswp__button--arrow--left {
	left: 4px;
}
.pswp--touch .pswp__button--arrow--right {
	right: 4px;
}

/* :::::: counter :::::: */
.pswp__counter {
	position: absolute;
	left: 0;
	top: 0;
	height: 44px;
	padding: 0 10px;
	color: #fff;
	font-size: 1.3rem;
	line-height: 44px;
	font-family: Roboto, sans-serif;
	opacity: .6;
}
.pswp__counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* :::::: caption :::::: */
.pswp__caption {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	min-height: 44px;
}
.pswp__caption small {
	font-size: 1.1rem;
	color: #BBB;
}
.pswp__caption__center {
	text-align: left;
	max-width: 420px;
	margin: 0 auto;
	font-size: 1.3rem;
	padding: 10px;
	line-height: 20px;
	color: #CCC;
}
.pswp__caption--empty {
	display: none;
}
.pswp__caption--fake {
	visibility: hidden;
}

/* :::::: preloader :::::: */
.pswp__preloader {
	width: 44px;
	height: 44px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -22px;
	opacity: 0;
	transition: opacity .25s ease-out;
	will-change: opacity;
	direction: ltr;
}
.pswp__preloader__icn {
	width: 20px;
	height: 20px;
	margin: 12px;
}
.pswp__preloader--active {
	opacity: 1;
}
.pswp__preloader--active .pswp__preloader__icn {
	background: url(preloader.gif) 0 0 no-repeat;
}

/* :::::: animation :::::: */
.pswp--css_animation .pswp__preloader--active {
	opacity: 1;
}
.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
	animation: clockwise 500ms linear infinite;
}
.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
	animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}
@keyframes clockwise {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
@keyframes donut-rotate {
	0% { transform: rotate(0); }
	50% { transform: rotate(-140deg); }
	100% { transform: rotate(0); }
}

.pswp--css_animation .pswp__preloader__icn {
	background: none;
	opacity: .6;
	width: 14px;
	height: 14px;
	position: absolute;
	left: 15px;
	top: 15px;
	margin: 0;
}
.pswp--css_animation .pswp__preloader__cut {
	position: relative;
	width: 7px;
	height: 14px;
	overflow: hidden;
}
.pswp--css_animation .pswp__preloader__donut {
	box-sizing: border-box;
	width: 14px;
	height: 14px;
	border: 2px solid #FFF;
	border-radius: 50%;
	border-left-color: transparent;
	border-bottom-color: transparent;
	position: absolute;
	top: 0;
	left: 0;
	background: none;
	margin: 0;
}
@media screen and (max-width: 1024px) {
	.pswp__preloader {
		position: relative;
		left: auto;
		top: auto;
		margin: 0;
		float: right;
	}
}

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
	-webkit-backface-visibility: hidden;
	will-change: opacity;
	transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
	visibility: visible;
}
.pswp__top-bar,
.pswp__caption {
	background-color: rgba(0,0,0,.5);
}
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
	background-color: rgba(0,0,0,.3);
}
.pswp__ui--idle .pswp__top-bar {
	opacity: 0;
}
.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
	opacity: 0;
}
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
	opacity: .001;
}
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
	display: none;
}
.pswp__element--disabled {
	display: none !important;
}
.pswp--minimal--dark .pswp__top-bar {
	background: none;
}


/**
 * レストラン一覧
 * -------------------------------------------------- */
.restaurants_area {
	display: flex;
	justify-content: center;
	gap: 2em;
	font-weight: 700;
	--font-dt: 14;
	--font-md: 12;
}
.restaurants_area li:nth-child(n+2) {
	border-image: linear-gradient(currentcolor, currentcolor) 0 1 / 1.5em 0 1.5em 1px / 0 0 0 1em;
}
.restaurants_area button {
	padding-block: 1em;
}
.restaurants_area button.is-tabactive {
	color: var(--themecolor);
}
.restaurant_lineup {
	--gap: min(100vw * 12 / 1280, 12px);
	--item-size: calc(20% - var(--gap) * 4 / 5);
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	--font-dt: 14;
	--font-md: 10;
	line-height: 1.4;
}
.restaurant_lineup li {
	flex-basis: var(--item-size);
}
.restaurant_lineup a {
	text-decoration: none;
}
.restaurant_lineup figure {
	margin: 0;
}
.restaurant_lineup figcaption {
	margin-top: .25em;
}
@media screen and (max-width: 767px) {
	.restaurant_lineup {
		--gap: calc(var(--cw) * 6 / 375);
		--item-size: calc(33.3333% - var(--gap) * 2 / 3);
		justify-content: center;
	}
}

/* :::::: タブコンテンツ :::::: */
.js-tab_panel:not(.is-tabactive) {
	visibility: hidden;
}
.js-tab_panel:not(.is-tabshow) {
	z-index: -1;
	opacity: 0;
}
.js-tab_panel:not(.is-tabshow) figcaption {
	translate: 0 -1em;
}
.js-tab_panel.is-tabmotion {
	transition: opacity .4s;
}
.js-tab_panel.is-tabmotion figcaption {
	transition: translate .4s cubic-bezier(.3,1,.7,1);
}


/**
 * Utility
 * -------------------------------------------------- */
.u-visuallyhidden {
	position: absolute;
	overflow: hidden;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: -1px;
	white-space: nowrap;
	clip: rect(0 0 0 0);
}
@media print {
	img { max-width: 100%; height: auto; }
	@page { margin: .5cm; marks: crop cross; }
	p,li,dd,dt,h2,h3 { orphans: 3; widows: 3; }
	h2,h3,h4,h5 { page-break-after: avoid; }
}

/** splide-core.min.css */
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}
.splide--fade .splide__slide {
	mix-blend-mode: plus-lighter;
}

/**
 * Common
 * -------------------------------------------------- */
:where(body) {
	container: body / inline-size;
	overflow: clip;
	font-weight: 400;
	font-size: 1.7em;
	line-height: 2;
	font-family: NotoSerifCJKjp, serif;
	letter-spacing: .04em;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	font-feature-settings: "pkna";
}
:where(body):lang(en) {
	font-family: Lato, sans-serif;
	font-feature-settings: "palt";
}
:where(body).loaded {
	overflow: auto;
}
:where(body).is-opening {
	position: fixed;
	width: 100%;
	background: #000;
}
@media screen and (max-width: 767px) {
	:where(body) {
		font-size: 1.1em;
	}
}
:where(#menuToggle, #scroll, #pagetop, .copyright, .en) {
	font-family: Roboto, sans-serif;
}
:where(html,button,input,select,textarea){color:#000}
:where(html){font-size:62.5%}
:where(hr){display:block;height:1px;border:0;border-top:1px solid #000;margin:64px 0;padding:0}
:where(img){height:auto;vertical-align:middle}
:where(fieldset){border:0;margin:0;padding:0}
:where(textarea){resize:vertical}
:where(ul,ol){list-style:none}
:where(a){color:inherit;text-decoration:inherit}
:where(a[href]:hover){text-decoration:underline}
:where(svg){fill:inherit;vertical-align:middle}
:where(small){font-size:inherit}

/* :::::: fonts :::::: */
@font-face {
	font-family: "NotoSerifCJKjp";
	font-style: normal;
	font-weight: 100;
	src: url("../font/NotoSerifCJKjp-ExtraLight.woff") format("woff");
}
@font-face {
	font-family: "NotoSerifCJKjp";
	font-style: normal;
	font-weight: 400;
	src: url("../font/NotoSerifCJKjp-Regular.woff2") format("woff2"),
	     url("../font/NotoSerifCJKjp-Regular.woff") format("woff");
}
@font-face {
	font-family: "NotoSerifCJKjp";
	font-style: normal;
	font-weight: 700;
	src: url("../font/NotoSerifCJKjp-Bold.woff") format("woff");
}
@font-face {
	font-family: "NotoSerifCJKjp";
	font-style: normal;
	font-weight: 900;
	src: url("../font/NotoSerifCJKjp-Black.woff") format("woff");
}
@font-face {
	font-family: "Unna";
	font-style: normal;
	font-weight: 700;
	src: url("../font/Unna-Bold.woff") format("woff");
}

@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 100;
	src: url("../font/Lato-Thin.woff") format("woff");
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 400;
	src: url("../font/Lato-Regular.woff") format("woff");
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 700;
	src: url("../font/Lato-Bold.woff") format("woff");
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 900;
	src: url("../font/Lato-Black.woff") format("woff");
}

/*#test {
	z-index: 1000;
	position: fixed;
	top: 1em;
	left: 0;
	transform: translateX(-101%);
}*/

/* for WinSmoothScroll
html.isEdge {
	overflow: hidden;
}
html.isEdge body {
	z-index: 1;
	position: relative;
	overflow: auto;
	height: 100vh;
} */
