
.hide {
	display: none !important;
}

html[lang="en"] *[lang="ja"],
html[lang="ja"] *[lang="en"] {
	display: none;
}

header#global-header div.inner {
	max-width: 1400px;
	min-width: inherit;
	position: relative;
	margin: 0 auto;
}
header#global-header div.lang {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 3rem;
	line-height: 1;
}
header#global-header div.lang h5 {
	border: 1px solid #000;
	padding: 0.5em 1em;
	border-radius: 2em;
	font-size: 1.4rem;
	font-weight: 500;
}
header#global-header div.lang ul {
	position: absolute;
	right: 0;
	top: 3rem;
	border: 1px solid #000;
	display: none;
	width: 100%;
}
header#global-header div.lang:hover ul {
	display: block;
}
header#global-header div.lang ul li + li {
	border-top: 1px dotted #000;
}
header#global-header div.lang ul li button {
	padding: 0.5em;
	cursor: pointer;
	background-color: #fff;
	text-align: left;
	width: 100%;
}
html[lang="en"] header#global-header div.lang ul li button[value="en"],
html[lang="ja"] header#global-header div.lang ul li button[value="ja"] {
	background-color: #ddd;
	color: #666;
}

div.post_content {
	padding-top: 14rem;
}
section.sec-kv {
	max-width: 1400px;
	background-image: url(../images/mainvisual.webp);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	height: 0;
	overflow: hidden;
	position: relative;
	padding-top: 31.5%;
	margin-bottom: 3em;
}
section.sec-kv h1 {
	position: absolute;
	left: 2em;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 4.2em;
	text-align: left;
	line-height: 1.36;
	font-size: 4.2rem;
	padding-top: 0.5em;
	font-feature-settings: "palt";
}

.a-right {
	text-align: right;
}
section.news-post-area .post_content {
	max-width: 1400px;
}
section.news-post-area .sec-in {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0;
}
section.sec {
	color: #000;
}
section.sec h2 {
	font-size: 2em;
	text-align: center;
	margin: 3em auto 1em auto;
	border-bottom: 1px solid #000;
	padding-bottom: 0.2em;
	font-weight: 500;
	max-width: 16em;
}
section.sec div.menu + h2 {
	max-width: inherit;
}
section.sec h2:first-child {
	margin-top: 0;
}
section.sec sub {
	vertical-align: -webkit-baseline-middle;
}
@-moz-document url-prefix() {
	section.sec sub {
		vertical-align: -moz-middle-with-baseline;
	}
}
ul.disc {
	margin: 0 0 2em 2em;
	line-height: 1.5;
}
ul.disc > li {
	position: relative;
}
ul.disc > li:before {
	content: "";
	width: 0.6em;
	height: 0.6em;
	background-color: #000;
	border-radius: 50%;
	position: absolute;
	left: -1em;
	top: 0.5em;
}
ul.disc > li + li {
	margin-top: 0.3em;
}
.sec01::before {
	display: none;
	pointer-events: none;
}
/*ul.anchormenu {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(3, 1fr);
	gap: 1rem 2rem;
	margin: 0;
	font-weight: 500;
	font-size: 1.8em;
}
ul.anchormenu li:nth-child(1),
ul.anchormenu li:nth-child(2) {
	grid-column: span 2/span 2;
}*/
/*ul.anchormenu {
	display: flex;
	gap: 1rem 2rem;
	margin: 0;
	font-weight: 500;
	font-size: 1.8em;
	flex-wrap: wrap;
}
ul.anchormenu li {
	width: calc(25% - ((2rem * 3) / 4));
}
ul.anchormenu li:nth-child(2),
ul.anchormenu li:nth-child(1) {
	width: calc(50% - ((2rem * 1) / 2));
}*/
ul.anchormenu {
	display: flex;
	margin: 0;
	font-weight: 500;
	font-size: 1.8em;
	flex-wrap: wrap;
	gap: 0.5em 2em;
}
ul.anchormenu sub {
	line-height: 1;
}

ul.anchormenu a {
	color: #000;
}

section.sec02 {
	background-color: #F5EDDD;
	padding: 3em 0;
}
section.sec02 ul.menulist {
	background-color: #fff;
	padding: 40px;
	display: flex;
	flex-wrap: wrap;
}

ul.menulist {
	text-align: left;
	flex-wrap: wrap;
	display: flex;
	gap: 40px;
	align-items: flex-start;
}
ul.menulist > li {
	width: calc((100% / 4) - ((40px * 3) / 4));
}
h2[name="万博限定お持ち帰りセット"] + ul.menulist li {
	width: calc(50% - ((40px * 1) / 2));
}
ul.menulist > li > div {
	width: 100%;
	height: 100%;
	display: block;
	text-align: left;
	line-height: 1.4;
	color: #000;
	font-size: 0.875em;
}
h2[name="万博限定お持ち帰りセット"] + ul.menulist li > div {
	display: flex;
	flex-direction: row-reverse;
	gap: 20px;
	align-items: flex-end;
}
h2[name="万博限定お持ち帰りセット"] + ul.menulist li > div p.thumb {
	width: calc(60% - 20px);
}
h2[name="万博限定お持ち帰りセット"] + ul.menulist li > div div {
	width: 40%;
}
ul.menulist > li > div p.thumb {
	position: relative;
	overflow: hidden;
	height: 0;
	margin-bottom: 0.5em;
	padding-top: 66.666%;
}
ul.menulist > li > div p.thumb img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: contain;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
h2[name="万博限定お持ち帰りセット"] + ul.menulist li > div p.thumb {
	padding-top: 38%;
}
ul.menulist > li > div[data-halal="3"] p.thumb:after,
ul.menulist > li > div[data-halal="2"] p.thumb:after,
ul.menulist > li > div[data-halal="1"] p.thumb:after {
	position: absolute;
	left: 10px;
	bottom: 10px;
	width: 50px;
	height: 50px;
	background-image: url(../images/halal.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
}
ul.menulist > li > div[data-halal="2"] p.thumb:after {
	background-image: url(../images/halal2.png);
}
ul.menulist > li > div[data-halal="3"] p.thumb:after {
	background-image: url(../images/halal3.png);
}
ul.menulist > li > div p.thumb img {
	position: absolute;
	left: 0;
	right: 0;
	top: ;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
ul.menulist > li > div p.thumb img.of-cover {
	object-fit: cover;
}
ul.menulist > li > div h5 {
	margin-bottom: 0.3em;
	font-weight: 600;
	font-size: 1.1em;
}
ul.menulist > li > div h6 {
	margin-bottom: 0.5em;
	font-size: 1.6em;
	font-weight: 600;
}
ul.menulist > li > div p {
	margin-bottom: 0.5em;
}
ul.menulist > li > div[data-takeout=""] p span.takeout:before {
	content: "不可";
}
ul.menulist > li > div[data-takeout="1"] p span.takeout:before {
	content: "可";
}
div#mw-detail p.photo {
	position: relative;
	margin-bottom: 1.5em;
	padding: 0;
	max-width: 680px;
	margin: 0 auto;
}
div#mw-detail p.photo img {
}
div#mw-detail p.photo.halal3:after,
div#mw-detail p.photo.halal2:after,
div#mw-detail p.photo.halal1:after {
	width: 17%;
	height: 24%;
	left: 1em;
	bottom: 1em;
	content: "";
	position: absolute;
	background-image: url(../images/halal.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
div#mw-detail p.photo.halal2:after {
	background-image: url(../images/halal2.png);
}
div#mw-detail p.photo.halal3:after {
	background-image: url(../images/halal3.png);
}
div#mw-detail h5 {
	text-align: center;
	font-weight: 600;
	font-size: 2em;
	margin: 0;
}
div#mw-detail p.spec {
	text-align: center;
	font-size: 1.2em;
	font-weight: 500;
}
div#mw-detail hr {
	border-color: #000;
	margin: 2em 0;
}
div#mw-detail h6 {
	text-align: center;
	font-weight: 600;
	font-size: 1.6em;
	margin: 0 0 1em 0;
}
ul.allergen {
	display: flex;
	gap: 20px 10px;
	flex-wrap: wrap;
	justify-content: center;
	line-height: 1;
	margin-bottom: 3em;
	font-size: 0.96em;
}
ul.allergen li {
	width: calc(100% / 7 - ((10px * 6) / 7));
	display: none;
}
ul.allergen li.process,
ul.allergen li.active {
	display: block;
}
ul.allergen li img {
	width: 100%;
	height: 60%;
	object-position: center top;
	object-fit: contain;
}
ul.allergen li img + span {
	display: block;
	text-align: center;
	margin: 0.5em 0;
}
ul.allergen li.process:after,
ul.allergen li.active:after {
	content: "●";
	display: block;
	text-align: center;
	color: #666;
}
ul.allergen li.process:after {
	content: "▲";
}
ul.allergen + p {
	font-size: 0.86em;
}

span.kcal:empty:before,
span.price:empty:before {
	content: "-";
}

p#applink {
	margin: 1.5em 2vw;
}
p#applink a {
	display: block;
	background-color: #31549F;
	border-radius: 1.5em;
	padding: 1em;
	text-align: center;
	text-decoration: none;
	color: #fff;
}
p#applink a strong {
	font-size: 1.8em;
	font-weight: 500;
	display: block;
}
p#applink a span {
	display: block;
	font-size: 0.86em;
}

p#takeoutcopy {
	margin: 5em 0 -3em 0;
	padding: 1.5em;
	background-color: #fff;
	text-align: center;
	line-height: 1.3;
}
p#takeoutcopy > span {
	display: block;
	font-size: 1.5em;
	font-weight: 500;
}
p#takeoutcopy > span strong {
	display: block;
	font-size: 1.2em;
	font-weight: 500;
}
p#takeoutcopy > strong {
	display: block;
	font-size: 1.4em;
	color: #000;
	margin-top: 0.5em;
	padding-top: 0.5em;
	font-weight: 300;
	border-top: 1px solid #000;
}

.pc-view {
	display: inherit;
}
.sp-view {
	display: none;
}

p.pdflink {
	padding: 0 2em 2em 2em;
	background-color: #fff;
	text-align: center;
}
p.pdflink a {
	padding: 1.2em;
	background-color: #C28C52;
	color: #fff;
	font-size: 1.2em;
	border-radius: 0.6em;
	max-width: 600px;
	display: block;
	margin: 0 auto;
	transition: .3s;
}
p.pdflink a:hover {
	filter: contrast(130%);;
}

/*--------------------------------------------
■［モーダル］
--------------------------------------------*/

div.modal {
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	display: none;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 9011;
}

div.modal-container {
	max-width: 96%;
	max-height: 96vh;
	width: 980px;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	padding: 0;
	z-index: 1200;
	cursor: default;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
}
div.modal-container p.close {
	position: absolute;
	right: 20px;
	top: 20px;
	line-height: 1;
	z-index: 10;
	width: 40px;
	height: 40px;
}
div.modal-container p.close button {
	background-image: url(../images/close.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 40px;
	height: 40px;
	cursor: pointer;
}
div.modal-container div.modal-content {
	background-color: #fff;
	padding-bottom: 0;
	position: relative;
	border-radius: 0.3rem;
	overflow: hidden;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}
div.modal-container div.modal-content>div.modal-sc {
	overflow-y: auto;
	max-height: calc(90vh - 50px);
	padding: 50px;
}
div.modal-container div.modal-content > nav.btnarea {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--color-lpurple1);
	margin: 0;
	padding: 20px;
	display: flex;
	gap: 0 10px;
}
div.modal-container div.modal-content > nav.btnarea p {
	width: 100%;
	max-width: calc(50% - 5px);
}
div.modal-container div.modal-content > nav.btnarea p .btn {
	display: block;
	width: 100%;
}
div.modal-container div.modal-content h3 {
	font-size: 1.2em;
	font-weight: bold;
	margin: 0;
	position: relative;
	color: var(--color-purple1);
	line-height: 1.3;
	text-align: left;
	padding: 2rem 1rem 0 1rem;
}

#global-footer .gf-inner {
	max-width: 100%;
}

@media screen and (max-width: 1399px) {
	section.sec-kv h1 {
		font-size: 4vw;
	}
}
@media screen and (max-width: 1023px) {
	section.sec02 ul.menulist {
		padding: 20px;
		gap: 20px;
	}
	ul.menulist > li {
		width: calc(33.333% - ((20px * 2) / 3));
	}
}

@media screen and (max-width: 767px) {
	section.sec-kv h1 {
		left: 3.6vw;
	}
	ul.anchormenu {
		grid-template-columns: auto;
		grid-template-rows: auto;
		font-size: 3.2vw;
		display: flex;
		flex-wrap: wrap;
		padding: 0 1.5em;
		line-height: 1.3;
	}
	ul.anchormenu li {
		width: auto;
	}
	ul.anchormenu li:nth-child(2),
	ul.anchormenu li:nth-child(1) {
		width: auto;
	}
	section.sec h2 {
		margin-top: 5vw;
	}
	section.sec h2:first-child {
		margin-top: 0;
	}
	section.sec02 {
		padding: 2vw 0;
		font-size: 2rem;
	}
	section.sec02 ul.menulist {
		padding: 3vw;
		gap: 3vw;
	}
	ul.menulist > li {
		width: calc(49.999% - ((3vw * 1) / 2));
	}
	h2[name="万博限定お持ち帰りセット"] + ul.menulist li {
		width: 100%;
	}
	ul.menulist > li button {
		font-size: 12px;
	}
	div.modal-container div.modal-content>div.modal-sc {
		padding: 3vw;
	}
	ul.allergen {
		gap: 3vw;
	}
	ul.allergen li {
		width: calc(100% / 5 - ((3vw * 4) / 5));
		display: none;
	}
	p#takeoutcopy {
		margin: 6vw 0 -3vw 0;
	}
	p#takeoutcopy > span {
		font-size: 3.6vw;
	}
	p#takeoutcopy > span strong {
		font-size: 5.5vw;
	}
	p#takeoutcopy > strong {
		font-size: 3.4vw;
	}

	.pc-view {
		display: none;
	}
	.sp-view {
		display: inherit;
	}

}