@charset "UTF-8";
/* CSS Document */
html {
	scroll-behavior: smooth;
	scrollbar-gutter: stable;
}
html, body {
	width: 100%;
}
body {
	color: #461900;
	/*font-family: "Zen Maru Gothic", sans-serif;*/	
	/*font-family: "Kosugi Maru", sans-serif;*/
	font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 400;
    font-style: normal;
	/*font-size: 62.5%;*/
	font-size: .90rem;
    line-height: 1.6;
}
/*** M PLUS Rounded 1cギザギザ対策 ***/
h2,h3,h4,p,li,span,a,dt,dd,th,td {
	transform: rotate(0.05deg);
}
@media (min-width: 768px) {
    body {
        font-size: 1rem;
    }
}
h2 {
	font-size: clamp( 2rem, calc( 1.0909090909090908rem + 4.545454545454546vw ), 4.5rem );
	font-weight: 900;
}
h3 {
	font-size: clamp( 1.5rem, calc( 1.3181818181818181rem + 0.9090909090909091vw ), 2rem );
}
h4 {
	font-size: clamp( 1.125rem, calc( 1.0340909090909092rem + 0.45454545454545453vw ), 1.375rem );
}
img, source {
	width: 100%;
	height: auto;
	vertical-align: top;
}
a {
	text-decoration: none;
}
a, a:hover, a:visited {
	color: inherit;
}
ul, li {
	list-style: none;
}
@media (min-width: 768px) {
	.sp {
		display: none;
	}
}
@media (min-width: 960px) {
	.sp-tb {
		display: none!important;
	}
}
@media (max-width: 959px) {
	.pc {
		display: none!important;
	}
}
@media (max-width: 767px) {
	.tb {
		display: none!important;
	}
}
.f-red {
	color: #DC000A;
}
.note {
	font-size: .8em;
}
.note::before {
	content: "※ ";
}
.d-ib {
	display: inline-block;
}
.f-cw {
	color: #FFF;
}
.s-line {
	display: flex;
	justify-content: center;
	align-items: center;
}
.s-line::before,
.s-line::after {
	content: "";
	background: #461900;
	display: block;
	height: 1px;
	flex-grow: 1;
}
.s-line::before {
	margin-right: 1em;
}
.s-line::after {
	margin-left: 1em;	
}

/*** ナビゲーション ************************************************************/

body.is-fixed {
	overflow: hidden;
	height: 100%;
}
.nav-btn {
	background: #FFE900;
	border-radius: 50%;
	box-shadow: 0 0 3px 5px rgba(70,25,0,.3);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 60px;
	width: 60px;
	cursor: pointer;
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 999;
	pointer-events: auto;
}
@media (min-width: 960px) {
	.nav-btn {
		top: 2em;
		right: 2em;
	}
}
.nav-btn p {
	color: #DC000A;
	font-weight: 700;
	font-size: 1em;
	line-height: 1;
}
.nav-btn span {
	background: #DC000A;
	border-radius: 4px;
	height: 5px;
	width: 28px;
	margin-top: 5px;
	transition: all .3s ease-in-out;
}
.nav-btn span:nth-child(1) {
	margin-top: 0;
}
.nav-btn.active span:nth-child(1) {
	transform: translateY(10px) rotate(35deg);
}
.nav-btn.active span:nth-child(2) {
	width: 0;
}
.nav-btn.active span:nth-child(3) {
	transform: translateY(-10px) rotate(-35deg);
}
#drawer-wrap {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 998;
	pointer-events: none;	
	overflow-y: auto;
	visibility: hidden;
}
#drawer-wrap.active {
	pointer-events: auto;
	visibility: visible;
}
.nav-overlay {
	background: rgba(0,0,0,.5);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	transition: all .3s;
	z-index: 996;
}
.nav-overlay.active {
	opacity: 1;
	visibility: visible;
}
.drawer-nav {
	background: #FFFDEC;
	border-radius: 20px;
	box-shadow: -1px 1px 5px 2px rgba(0,0,0,.3);
	width: calc(100% - 2em);
	max-width: 440px;
	padding: 1em 2em 3em;
	position: fixed;
	top: 1em;
	right: -1em;
	transform: translateX(120%);
	transition: all .3s;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	z-index: 998;
}
@media (max-width: 767px) {
	.drawer-nav {
		height: 100vh;
	}
}
@media (min-width: 960px) {
	.drawer-nav {
		top: 2em;
	}
}
.drawer-nav.active {
	transform: translateX(0);
}
.drawer-nav .logo {
	background: #DC000A;
	border-radius: 30px;
	max-width: 180px;
	padding: 5px 1em;
}
.nav-list {
	padding: 1em 0;
}
.nav-list > li {
	list-style: none;
}
.nav-list > li > a {
	color: #DC000A;
	font-weight: 700;
	font-size: 1.4em;
	text-decoration: none;
	display: block;
	padding: 8px;
}
.nav-list > li > a:hover {
	opacity: .5;
}
.nav-list > li > a.nolink {
	display: flex;
	align-items: center;
	pointer-events: none;
}
.nav-list > li > a.nolink::after {
	content: "";
	background: #DC000A;
	display: inline-block;
	height: 1px;
	flex-grow: 1;
	margin-left: 1em;
}
.nav-list > li > a::before {
	content: "◆";
	display: inline-block;
	font-size: .5em;
	vertical-align: middle;
	margin-right: 10px;
}
.nav-arrow {
	background: #DC000A;
	border-radius: 50%;
	color: #FFF;
	font-weight: bold;
	font-size: .7em;
	line-height: 1;
	display: inline-block;
	/*width: 20px;
	height: 20px;*/
	padding: 5px;
	margin-left: 10px;
	aspect-ratio: 1 / 1;
}
/* メニューボタン */
.menu-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.nav-list .menu-nav {
	padding: 0 1em 1em;
}
.menu-nav li.is-featured {
	width: 50%;
	max-width: 160px;
	padding: 5px;
	position: relative;
}
.menu-nav li:not(.is-featured) {
	width: 33.333%;
	max-width: 120px;
	padding: 5px;	
	text-align: center;
}
.menu-nav li.is-featured::before {
	content: "";
	background:url("../images/badge.png") no-repeat top center;
	background-size: contain;
	display: block;
	width: 100%;
	height: 30px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.menu-nav li a {
	display: block;
	text-align: center;
	line-height: 1;	
}
.menu-nav li a span {
	color: #DC000A;
	font-size: .8em;
	font-weight: bold;	
}
.menu-nav li a::before {
	content: none;
}
.menu-nav li a:hover {
	opacity: .5;
}
/*.menu-nav li img {
	clip-path: circle(50% at 50% 50%);	
}*/
.tab-container {
	/*padding: 0 1em;*/
	position: relative;
}
.tab-container .menu-nav {
	padding: 0 1em 1em;
}
@media (min-width: 768px) {
	.tab-container .menu-nav {
		flex-wrap: nowrap;
		max-width: 960px;
		margin: auto;		
	}	
	.tab-container .menu-nav li.is-featured {
		width: 20%;
	}
	.tab-container .menu-nav li:not(.is-featured) {
		width: calc(100% / 8);
	}
}
@media (min-width: 960px) {
	.tab-container .menu-nav li {
		padding: 10px;
	}
}
.menu-nav figure {
    border-radius: 50%;
	aspect-ratio: 1 / 1;
    overflow: hidden;
}
.tab-container .menu-nav figure {
    border: 1px solid #461800;
}
.tab-container .menu-nav figure:hover img {
	transform: scale(1.2);
	transition: all .3s ease-in;
}
.drawer-nav .sns {
	background: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
}
.drawer-nav .sns a {
	margin-right: 10px;
}
.d-ico {
	max-width: 120px;
}

/*** top v ************************************************************/

#top-visual {
	/*background: #DC000A;*/
	background-image: linear-gradient(to bottom, rgba(220,0,10,.7) 30%, rgba(220,0,10,1) 40%, rgba(220,0,10,1) 100%), url("../images/shop-img.jpg");
	background-repeat: no-repeat, no-repeat;
	background-position: center, top left;
	background-size: cover, contain;
	display: flex;
	/*padding: 1em;*/
	height: auto;
	position: relative;
	overflow: hidden;
}
@media (min-width: 960px) {
	#top-visual {
		background-image: linear-gradient(to right, rgba(220,0,10,.7) 20%, rgba(220,0,10,1) 55%, rgba(220,0,10,1) 100%), url("../images/shop-img.jpg");
		background-position: center, center left;
		background-size: cover, contain;
	}
}
@media (max-width: 959px) {
	#top-visual {
		flex-direction: column;
		justify-content: space-between;
	}
}
@media (min-width: 768px) {
	#top-visual {
		/*padding: 1em 5em;*/
		
	}
}
@media (min-width: 960px) {
	#top-visual {
		justify-content: space-around;
		align-items: center;
		/*padding: 2em;*/
		/*height: auto;*/
	}
}
#top-visual .block-left {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 90px 1em 2em;
}
@media (min-width: 768px) {
	#top-visual .block-left {
		padding-bottom: 3em;
	}
}
@media (min-width: 960px) {
	#top-visual .block-right {
		width: 50%;
	}
	#top-visual .block-left {
		width: 50%;
		padding: 3em;
	}
}
#top-visual .block-right {
    /*clip-path: circle(70% at 70% 50%);*/
    border-radius: 50% 0 0 50%;
    overflow: hidden;
	height: 100%;
}
.splide {
	height: 100%;
}
.splide__track,
.splide__list,
.splide__slide {
  height: 100%; 
}
/*.splide__slide img {
	height: auto;
	width: 100%;
	transition: 8s ease-out;
}
.splide__slide.is-active img {
	transform: scale(1.15);
	transition-delay: 0s;
	will-change: transform;
}*/
/* --- スライド枠と基本設定 --- */
.splide__slide .zoom-box {
  width: 100%;
  height: 100%;
  overflow: hidden; /* はみ出し防止 */
}

.splide__slide .zoom-box img {
  display: block;
  width: 100%;
  height: auto;
  /* 非アクティブ時：瞬時に縮小状態へリセット（ transition は 0s ） */
  transform: scale(1);
  transition: transform 0s;
}

/* --- アクティブ時の拡大設定 --- */
.splide__slide.is-active .zoom-box img {
  /* アクティブ時：8秒かけて徐々に拡大 */
  transform: scale(1.15);
  /* 変形対象を transform に限定し、一定速度 (linear) で動かす */
  transition: transform 8s linear;
  /* GPUメモリの過剰消費を防ぐためアクティブ時のみ宣言 */
  will-change: transform;
}
.shop-name {
	width: 80%;
	max-width: 600px;
}
.catch {
	color: #FFF;
	font-weight: 700;
	font-size: clamp( 1.5rem, calc( 1.25rem + 1.25vw ), 2rem );
	text-align: center;
	/*padding-top: .5em;*/
}
@media (min-width: 1200px) {
	.catch {
		font-size: 3rem;
	}
}


/*** メインコンテンツ ************************************************************/

.main-container {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
/*@media (max-width: 959px) {
	.main-container {
		padding: 0 1em;
	}	
}
@media (max-width: 767px)
	.main-container {
		padding: 0 5px;
	}	
}*/
section {
	margin-bottom: 3em;
}
.back-top {
	color: #FFF;
	font-size: .9em;
	text-align: right;
	padding: 1em 1em 0;
}
.d-fl {
	display: flex;
}
.wrap {
    display: flex;
    justify-content: space-between;
}

/*** お知らせ ************************************************************/

#info {
	max-width: 960px;
	margin: auto;
	padding: 0 1em 3em;
}
@media (min-width: 960px) {
	#info {
		padding: 0 0 3em;
	}
}
.news h2 {
	font-size: 1.8em;
	line-height: 1;
	padding-left: 1em;
	margin-bottom: -5px;
}
.news ul {
	border: 1px solid #461900;
	border-radius: 10px;
	padding: 1em;
	margin-bottom: 1.5em;
}
.news li {
	list-style: disc;
	margin-left: 1em;
}
.banner {
    display: flex;
	gap: 10px;
	margin-bottom: 1em;
}
.delivery {
	background: #FFFDEC;
	border: 2px solid #FFE900;	
	padding: 10px 10px 0;
	text-align: center;
}
@media (min-width: 768px) {
	.delivery {
		display: flex;
		align-items: center;
	}
	.delivery p {
		flex-grow: 1;
	}
	.delivery .banner {
		width: 60%;
	}
	.deli-icon {
		width: 50%;
	}
}
.delivery p {
	font-size: 1.2em;
	font-weight: 700;
	display: flex;
	justify-content: center;
	padding-bottom: 5px;
}
.delivery p::before,
.delivery p::after {
	content: "";
	background: #461900;
	height: 70px;
	width: 2px;
}
.delivery p::before {
	margin-right: 10px;
	transform: rotate(-20deg);
}
.delivery p::after {
	margin-left: 10px;
	transform: rotate(20deg);
}



/*** メニュー ************************************************************/

/*** タブ表示 ***/
.tab-content {
	display: none;
}
.tab-content.active {
	display: block;
}
.tax-info {
	color: #EBEBEB;
	font-size: .7em;
	line-height: 1.2;
	text-align: right;
	padding-bottom: 5px;
}
/*** 商品（ベース）カテゴリ枠 ***/
.category {
	background: #DC000A;
	border-radius: 20px;
	padding: 2em .5em;
	text-align: center;
}
@media (min-width: 768px) {
	.category {
		padding: 2em 1em;
	}
}
.cate-name,
.cate-desc {
	color: #FFF;
}
.cate-name {	
	line-height: 1;
	padding-bottom: .2em;
}
.cate-desc {
	padding-bottom: 1em;
}

/*** 商品（ベース）アイテム ***/

.item-list {
	margin-bottom: 1.5em;
}
.item-list.grid-memu {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 1.5em;
}
@media (min-width: 768px) {
	.item-list.grid-memu {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (min-width: 960px) {
	.item-list.grid-memu {
		grid-template-columns: repeat(4, 1fr);
	}
}
.item-list .item {
	background: #FFF;
	border: 1px solid #DC000A;
	border-radius: 20px;
	padding: 1em 10px;
}
.item-list.grid-memu .item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	/*align-self: start;*/
}

@media (min-width: 768px) {
	.item-list .item {
		padding: 1em;
	}
}
.item-img {
	grid-row: 1;
	margin-bottom: 10px;
}
.item-img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
@media (min-width: 768px) {
	.item-img img {
		object-fit: cover;
		object-position: center;
		height: 150px;
	}
}
.item-name {
	font-weight: 700;
	text-align: left;
	line-height: 1.3;
	grid-row: 2;
	padding-bottom: .5em;
}
@media (min-width: 768px) {
	.item-name {
		font-size: 1.1em;
	}
}
.item-desc {
	line-height: 1.3;
	text-align: left;
	grid-row: 3;
}
@media (max-width: 767px) {
	.item-desc {
		font-size: .9em;		
	}
}
.item-type {
	font-size: .85em;
}

/***価格***/
.price-group,
.pizza-price-group {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 1em;
	align-items: baseline;
	justify-content: flex-end;
	margin-top: .5em;
}
.price-block,
.tax-block {
	display: flex;
	align-items: baseline;
	gap: 3px;	
	flex-shrink: 0;
}
.price-block {
	flex-wrap: wrap;
}
.tax-block {
	white-space: nowrap;
}
.price {
	font-size: 1.2em;
	font-weight: 700;
	text-align: left;
	margin-bottom: 5px;
	flex-shrink: 0;
}
@media (min-width: 768px) {
	.price {
		font-size: 1.4em;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
}
.tax-icon img {
	width: auto;
	height: 1.2em;
	vertical-align: -0.2em;
	margin: 0 4px;
	display: inline-block;
}
.tax-in {
	/*background: #E5E5E5;*/
	border-radius: 4px;
	font-size: .9em;
	font-weight: 400;
	line-height: 1.2;
	padding: 2px 4px;
	/*margin-left: .5em;*/
	display: inline-block;	
}
.tax::before {
	content: "税込";
}
@media (max-width: 767px) {
	.item-list .tax-in {
		display: block;
		text-align: right;
		margin-left: 0;
		margin-top: 2px;
	}
}
@media (min-width: 768px) {
	.price .tax-in {
		margin-left: .5em;
	}
}
.tax .tax-icon img {
    margin-left: .5em;
}
.i-ei,
.i-to,
.i-tob {
	padding: 1px 2px;
	border-radius: 30px;
}
.i-ei {
	background: rgba(0,161,153,.05);
}
.i-to,
.i-tob {
	background: rgba(220,0,10,.05);
}
.i-ei::before,
.i-to::before,
.i-tob::before {
	content: "";
	display: inline-block;
	width: 1.4em;
	height: 1.4em;
	background-repeat: no-repeat;
	background-size: contain;
}
.i-ei::before {
	background-image: url("../images/icon-eatin.png");
}
.i-tob::before {
	background-image: url("../images/icon-takeoutbox.png");
}
.i-to::before {
	background-image: url("../images/icon-takeout.png");
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/*** タイトルラベル ***/
.label-wrap {
	padding-bottom: 1em;
}
@media (max-width: 767px) {
	.label-wrap {
		padding-top: 1em;
		position: relative;
	}
}
@media (min-width: 768px) {
	.label-wrap {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
@media (min-width: 768px) {
	.label-wrap h2 {
		padding: 0 .5em;
	}
}
@media (min-width: 960px) {
	.label-wrap h2 {
		padding: 0 1em;
	}
}
.label-ellipse {
	background: #FFE300;
	border-radius: 50%;
	color: #461900;
	font-weight: 700;
	display: inline-block;
	padding: 5px 1em;
	white-space: nowrap;
}
.label-square {
	background: #FFF;
	color: #461900;
	font-size: 1.1em;
	font-weight: 700;
	display: inline-block;
	padding: 5px .5em;
	line-height: 1;
}
@media (max-width: 767px) {
	.label-wrap .label-ellipse {
		font-size: 1.1em;
		margin-bottom: 10px;
		position: absolute;
		top: -1.5em;;
		left: 0;
		transform: rotate(-10deg);
	}
	/*.label-square {
		margin-top: 10px;
	}*/
}
@media (min-width: 768px) {
	.label-wrap .label-ellipse {
		font-size: 1.4em;
	}
	.label-square {
		font-size: 1.2em;
		white-space: nowrap;
	}
}
.label-square span {
	font-size: .7em;
	font-weight: initial;
	white-space: nowrap;
}


/*** セット共通 ************************************************************/

/*** 選べるドリンク ***/
.set-drink {
	padding: 5px;
	padding-top: .5em;
	margin-top: 1em;
}
@media (min-width: 960px) {
	.set-drink {
		margin-top: 0;
	}
}

/*@media (min-width: 1200px) {
	.set-drink dl {
		display: block;
	}
	.set-drink dl div {
		width: 100%;
		padding: 0;
	}
}*/
.set-drink dt {	
	text-align: left;
	border-bottom: 1px dotted rgba(70,25,0,.5);
	padding-top: 1em;
}
.set-drink dd {
	font-size: .8em;
	text-align: left;
	padding: .5em 1em;
}
@media (min-width: 768px) and (max-width: 959px) {
	.set-drink.tb-fl {
		display: flex;
		flex-wrap: wrap;		
	}
	.set-drink.tb-fl div {
		width: 50%;
		padding: 0 1em;
	}	
}

/*** セットメニュー ****/
.set-menu {
	background: #FFFDEC;
	border: 2px solid #FF9B00;
	border-radius: 20px;
	display: block;
	padding: 1em;
}
.set-menu h3 {
	font-size: clamp( 1.2rem, calc( 0.95rem + 1vw ), 1.7rem );
	text-align: left;
}
.set-menu .label-ellipse {
	font-size: .7em;
	position: static;
	transform: rotate(-5deg);
}
@media (min-width: 768px) {
	.set-menu ul {
		display: flex;
		flex-wrap: wrap;
		padding: 1em 0;
	}
}
.set-menu .item {
	padding: 1.5em 1em;
	border-bottom: 1px dotted #461900;
}
@media (min-width: 768px) {
	.set-menu .item {
		border-right: 1px dotted #461900;
		flex: 0 0 calc(100% / 2);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding: 1em;
	}
}
@media (min-width: 768px) and (max-width: 959px) {
	.set-menu .item:nth-child(2n) {
		border-right-width: 0;
	}
	.set-menu .item:nth-last-child(-n+2) {
		border-bottom-width: 0;
	}
}
@media (min-width: 960px) {
	.set-menu .item {
		flex: 0 0 calc(100% / 3);
	}
	.set-menu .item:nth-child(3n) {
		border-right-width: 0;
	}
	.set-menu .item:nth-child(n+4) {
		border-bottom-width: 0;
	}
}
.set-menu .item .item-name::before {
	content: "";
	background: url("../images/plus.png");
	background-repeat: no-repeat;
	background-size: cover;
	display: inline-block;
	height: 18px;
	width: 18px;
	vertical-align: middle;
	margin-right: 5px;
}
@media (min-width: 768px) {
	.set-menu .item .item-name::before {
		height: 24px;
		width: 24px;
	}
}
.set-menu .item .item-desc {
	font-size: .9em;
	padding-left: 2em;
}
.set-menu .item .wrap {
	padding-top: 1em;
    align-items: center;
}
@media (min-width: 768px) {
	.set-menu .item .wrap {
		flex-direction: column-reverse;
	}
}
.set-menu .item .wrap .price-group {
    width: 55%;
    padding-top: 0;
	white-space: nowrap;
}
@media (min-width: 768px) {
	.set-menu .item .wrap .price-group {
		width: 100%;
	}
}
@media (min-width: 960px) {
	.set-menu .item .wrap .price-group {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: baseline;
	}
	.set-menu .item .wrap .price .tax-in {
		display: block;
	}
}
.set-menu .item .wrap figure {
    width: 45%;
	padding-left: .5em;
}
@media (min-width: 768px) {
	.set-menu .item .wrap figure {
		width: 80%;
		padding: .5em 0;
	}
}
.set-menu .item.set-drink-wrap {
	background: #FFF;
	justify-content: flex-start;
}
.set-menu .item.set-drink-wrap .item-name::before {
	content: none;
}
.set-menu .set-drink-wrap .item-name {
	background: rgba(215,200,190,1.00);
	border-radius: 20px;	
	padding: 2px 10px;
	margin-top: 5px;
}
@media (max-width: 959px) {
	.set-menu .set-drink-wrap .set-drink {
		flex-direction: column;
		margin-top: 0;
	}
	.set-menu .set-drink-wrap .set-drink.tb-fl div {
		width: 100%;
	}
}


/*** ピッツァ ************************************************************/
/*** 全粒粉説明 ***/
.bran {
	background-image: linear-gradient(to right, rgba(255,255,255,.8) 30%, rgba(255,255,255,.3) 100%), 
url("../images/pizza/bran_bg.jpg") , 
		linear-gradient(#FFF, #FFF);
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-position: left, center, left;
	background-size: cover, cover, cover;
	border-radius: 20px;
	padding: 1em;
	margin-bottom: 1em;
	text-align: left;
	position: relative;
}
@media (min-width: 768px) {
	.bran {
		background-position: left, top right, left;
		background-size: cover, 50%, cover;
		display: flex;
		justify-content: space-between;
		padding: 1em;		
	}
}
.bran h3 {
	font-size: clamp( 1.2rem, calc( 0.95rem + 1vw ), 1.7rem );
	margin-bottom: .5em;
	letter-spacing: 0;
	line-height: 1.3;
}
@media (min-width: 768px) {
	.bran .block-left {
		width: 58%;
	}
	.bran .block-right {
		align-self: flex-end;
		width: 40%;		
		text-align: right;
	}
}
.bran .ellipse {
	background: #461800;
	border-radius: 50%;
	color: #FFF;
	display: inline-block;
	line-height: 1.2;
	text-align: center;
	padding: 1em 2em;
	position: absolute;
	top: 0;
	right: 0;
}
@media (min-width: 768px) {
	.bran .ellipse strong {
		font-size: 1.4em;
	}
}
.bran .ellipse span {
	font-size: .75em;
}
.bran-desc {
	background: rgba(255,255,255,.5);
	font-size: .8em;
	text-align: left;
	padding: 10px;
}
.bran .price-wrap {
	padding: 1em 0;
}
@media (max-width: 768px) {
	.bran .price-wrap dd {
		text-align: right;
		width: fit-content;
		margin: 0 0 0 auto;
	}
	.bran .price-wrap dd .price {
	text-align: center;
	}
}

@media (min-width: 768px) {
	.bran .price-wrap {
		display: flex;
		align-items: baseline;
		justify-content: center;
	}
	.bran .price-wrap dt {
		padding-right: 1.5em;
	}
}

/*** 季節限定 ***/
.item-list .item.limited {
	grid-column: span 2;
	display: flex;
	flex-direction: column;
	position: relative;
}
.label-limit {
	background: #FFCE00;
	border-radius: 50%;
	box-shadow: 2px 2px 3px 3px rgba(0,0,0,.2);
	color: #FFF;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: 1px 1px 3px rgba(0,0,0,.5);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 80px;
	padding: 1em;
	position: absolute;
	top: 0;
	left: 0;
}
.item.limited .item-img img {
    height: 200px;
}
#pizza .item .price {
	margin-top: 10px;
	line-height: 1;
}
@media (max-width: 767px) {
	.item-list .price .tax-in {
		text-align: center;
	}
}

/*** トッピング ***/
.item-list .item.topping {
	display: flex;
	flex-direction: column;
}
.topping .ovimg {
	position: relative;	
}
.topping .ovtxt {
	background: rgba(255,255,255,.65);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;	
}
.topping .ovtxt p {
	text-align: center;
}
.topping dl {
	margin-bottom: 1em;
}
.topping dt {
	display: flex;
	justify-content: space-between;
}
.topping dd {
	text-align: right;
	flex-wrap: nowrap;
}



/*** 全粒粉生地吹き出し ***/
.bran-sb {
	background: #FFF;
	border-radius: 10px;
	box-shadow: 2px 2px 3px 3px rgba(0,0,0,.2);
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 2em;
	padding: 5px;
	position: relative;
}
.bran-sb::before {
	content: "";
	background: #FFF;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	height: 1em;
	width: 1em;
	position: absolute;
	bottom: -1em;
	left: 50%;
	transform: translateX(-50%);
}
.bran-sb .txt_01 {
	font-size: 120%;
}
@media (min-width: 768px) {
	.bran-sb .txt_01 {
		font-size: 140%;
	}
}



/*** 選べるセット ************************************************************/

.choose-icon {
	display: flex;
	justify-content: center;
	align-items: center;
}
.choose-icon img {
	border: 1px solid #461900;
	border-radius: 50%;
	object-fit: cover;
	width: 50px;
	margin-left: 5px;
	aspect-ratio: 1 / 1;	
}

/*** 選べるメニュー ***/
.choose {    
    padding:20px 0;
}
/*** モバイルだけタブ切り替え ***/
@media (max-width: 767px) {
	.choose {
		display: flex;
		flex-wrap: wrap;
	}
	.choose:after {
		content: '';
		width: 100%;
		height: 1px;
		background: #DC000A;
		display: block;
		order: -1;
	}
	.tab-label {
		background: #FFFDEC;
		border-radius: 10px 10px 0 0;
		text-align: center;
		padding: .5em 1em;
		order: -1;
		position: relative;
		z-index: 1;
		cursor: pointer;
		flex: 1;
	}
	.tab-label:not(:last-of-type) {
		margin-right: 5px;
	}
	.tab-contents {
		width: 100%!important;
		height: 0;
		overflow: hidden;
		opacity: 0;
	}
	/* アクティブなタブ */
	.tab-switch:checked+.tab-label {
		background: #FFE300;
	}
	.tab-switch:checked+.tab-label+.tab-contents {
		height: auto;
		overflow: auto;
		opacity: 1;
		transition: .5s opacity;
	}
}
/* ラジオボタン非表示 */
.tab-switch {
	display: none;
}
@media (min-width: 768px) {
	.tab-label {
		display: none;
	}
}
/*** タブレット以上はgrid表示 ***/
@media (min-width: 768px) {
	.choose {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: minmax(min-content, max-content);
		grid-auto-flow: dense;
	}
	.card--pizza  { grid-area: pizza; grid-row: span 2; }
    .card--pasta  { grid-area: pasta; }
    .card--side   { grid-area: side; }
    .card--drink  { grid-area: drink; }
	.card--plus  { grid-area: plus; }
	.choose .item,
	.choose .item .choose-menu {
		height: 100%;
	}
}
@media (min-width: 768px) {
	#half-set .choose {
		grid-template-areas: "pizza pasta" "pizza side" "drink drink";
	}
	#premium .choose {
		grid-template-areas: "pizza pasta" "pizza side" "plus drink";
	}
}
@media (min-width: 960px) {
	.choose {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (min-width: 960px) {
	#half-set .choose {
		/*grid-template-areas: "pizza pasta drink" "pizza side drink";*/
		grid-template-areas: "pizza pasta side" "pizza drink drink";
	}
}
@media (min-width: 960px) {
	#premium .choose {
		grid-template-areas: "pizza pasta drink" "pizza side plus";
	}
}
.choose .item {
	align-self: start;
}
.grid-tall {
	grid-row: span 2;
	height: 100%;
}
@media (min-width: 768px) and (max-width: 959px) {
	.grid-wide {
		grid-column: span 2;
	}
}
.choose-menu {
	background: #FFFDEC;
	border-radius: 0 0 20px 20px;
	border: 1px solid #DC000A;
	padding: 2em 1em 1em;
	position: relative;
	height: 100%;
}
@media (min-width: 768px) {
	.choose-menu {
		border-radius: 20px;
	}
}
.grid-tall .choose-menu {
	height: 100%;
}
.choose-menu .label-ellipse {
	position: absolute;
	top: 1em;
	left: 1em;
	transform: rotate(-5deg);
}
p.cm-desc {
	font-size: .9em;
	text-align: center!important;
}
.set-item-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-top: 1em;
}
.set-item-list li {
	list-style: none;
	width: 25%;
	padding: 0 5px;
	/*white-space: nowrap;*/
}
.set-item-list li figure img {
	border-radius: 50%;
    object-fit: cover;
	aspect-ratio: 1 / 1;
	
}
.set-item-list li figcaption {
	font-size: .6em;
	letter-spacing: 0;
	text-align: left;
	line-height: 1.2;
	padding: 5px 0;
}
p.plus-up {
	text-align: center;
	font-size: .8em;
	margin-top: 1em;
}
.mg-r {
	margin-right: 1em;
}
.mg-l {
	margin-left: 1em;
}

/*** ハーフピッツア ************************************/

#half-set,
#premium {
	margin-top: calc(min(80vw, 600px) * (1 / 3) / 2 + 2em);
	scroll-margin-top: calc(min(80vw, 800px) * (1 / 3) / 2 + 2em);
	position: relative;
}
.badge {
	width: 80%;
	max-width: 800px;
	aspect-ratio: 3 / 1;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
}
#half-set .cate-head,
#premium .cate-head {
	padding-top: calc(min(20vw, 800px) * (1 / 3) / 2 );
}
@media (max-width: 767px) {
	#half-set .label-wrap div {
		display: flex;
		justify-content: center;
	}
	#half-set .label-wrap div .label-square:first-of-type {
		margin-right: 1em;	
	}
}
@media (min-width: 768px) {
	#half-set .label-wrap div .label-square:first-of-type {
		margin-bottom: 5px;	
	}
}
#half-set .item-list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	margin-bottom: 1.5em;
}
@media (min-width: 768px) {
	#half-set .item-list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 768px) {
	#half-set .item-list .item:last-of-type {
		grid-column: span 2;
		display: flex;
		justify-content: center;
		align-items: flex-end;
	}
	#half-set .item-list .item:last-of-type figure {
		width: 30%;
		margin-right: 1.5em;
	}
}
#half-set .item-list.set .item figure {
	margin-bottom: .5em;
}
#half-set .item-name {
	font-size: 1.2em;
	text-align: center;
}
#half-set .price-group {
	margin-top: 1em;
}
@media (min-width: 960px) {
	#half-set .set-drink.tb-fl {
		display: flex;		
	}
	#half-set .set-drink div {
		width: 50%;
		padding: 0 1em;
	}
}

/*** プレミアムセット ************************************************************/

#premium .item-list .item {
	width: 100%!important;
}
#premium .price-group {
	font-size: 1.4em;
	padding-top: .5em;
}
.subset {
	background: #FFFDEC;
	border: 1px solid #DC000A;
	border-radius: 20px;
	padding: 1em;
}
@media (max-width: 767px) {
	.subset {
		width: 100%;
		margin-top: 1em;
		position: relative;
	}
	.subset .label-ellipse {
		position: absolute;
		top: 1em;
		left: 1em;
		transform: rotate(-5deg);
	}
}
.pset {	
	display: flex;
	justify-content: space-around;
	align-items: center;
}
@media (max-width: 767px) {
	.pset:first-of-type {
		padding: 1em 0; 
	}
	
}
@media (min-width: 768px) {
	.choose-menu.subset .pset {
		padding-top: 2em;
	}
}
.pset figure img {
	border-radius: 50%;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	max-width: 100px;	
}


/*** ドルチェ ************************************************************/

#dolce .item-type {
	padding: .5em 0;
}
#dolce .item.panzerotti {	
    margin-bottom: 1em;
}
#dolce .item.croissant {
    width: 100%!important;
}
@media (min-width: 768px) {
	#dolce .item.panzerotti {
		display: flex;
		flex-direction: row;
		width: 100%;
		max-width: 960px;
		margin-left: auto;
		margin-right: auto;
	}
	#dolce .item.panzerotti figure.item-img {
		width: 60%;		
		padding-right: 1em;
	}
	#dolce .item.panzerotti .lower {
		width: 40%;		
	}
}
#dolce .item.panzerotti figure img {
	height: auto;
}
#dolce .item.croissant {
	background-image: linear-gradient(to bottom, rgba(70,25,0,0) 40%, rgba(70,25,0,.5) 50%, #461900 70%), url("../images/dolce/croissant_sp.jpg");
	background-repeat: no-repeat, no-repeat;
	background-position: bottom, top;
	background-size: cover, contain;
	color: #FFF;
	text-shadow: 1px 1px 3px rgba(70,25,0,.3), -1px 1px 3px rgba(70,25,0,.3), 1px -1px 3px rgba(70,25,0,.3), -1px -1px 3px rgba(70,25,0,.3);
	padding: 0;
	overflow: hidden;
}
@media (min-width: 768px) {
	#dolce .item.croissant {
		background-image: linear-gradient(to bottom, rgba(70,25,0,0) 50%, rgba(70,25,0,.5) 60%, #461900 70%), url("../images/dolce/croissant.jpg");
		background-position: bottom, top left;
		background-size: cover, 150%;
	}	
}
@media (min-width: 960px) {
	#dolce .item.croissant {
		background-image: linear-gradient(to right, rgba(70,25,0,.1) 50%, #461900 70%), url("../images/dolce/croissant.jpg");
		background-position: left, top left;
		background-size: cover, contain;
		flex-direction: row;
	}
}
#dolce .item.croissant .upper {
	padding: 1em 1em 70%;
}
@media (min-width: 768px) {
	#dolce .item.croissant .upper {
		padding: 1em 1em 50%;
	}
}
@media (min-width: 960px) {
	#dolce .item.croissant .upper {
		width: 50%;
		padding: 1em;
	}
}
#dolce .time-head h3 {
	line-height: 1.2;
}
@media (max-width: 767px) {
	#dolce .time-head {
		background: linear-gradient(to left, rgba(53,0,0,.7) 0, rgba(53,0,0,0) 80%);
		margin: 0 -1em 0 auto;
		padding-right: 1em;
		text-align: right;
	}
	#dolce .time-head p {
		line-height: 1;
	}
}
@media (min-width: 768px) {
	#dolce .time-head {
		background: linear-gradient(to right, rgba(53,0,0,.6) 0, rgba(53,0,0,0) 60%);		
		display: flex;
		align-items: baseline;
		margin: 0 auto 0 -1em;
		padding-left: 1em;
	}
	#dolce .time-head h3 {
		margin-right: 1em;
	}
}
#dolce .item.croissant .lower {
	background: linear-gradient(to top, #461900 90%, rgba(70,25,0,.1) 100%);
	padding: 1em;
}
@media (min-width: 960px) {
	#dolce .item.croissant .lower {
		background: linear-gradient(to left, #461900 50%, rgba(70,25,0,0) 100%);
		width: 50%;
		margin: 0 0 0 auto;
		padding: 1em;
	}
}
#dolce .drink-set {
	border: 4px double rgba(255,255,255,.3);
	margin-top: 1em;
	padding: .5em;
}
@media (min-width: 960px) {
	#dolce .drink-set {
		margin-top: 2em;
	}	
}
#dolce .drink-set .set-item dt {
	background: rgba(255,255,255,.3);
	border-radius: 20px;
	width: 100%;
	padding: 5px;
}
#dolce .croissant .price-group.d-fl {
	justify-content: flex-end;
	padding: 1em 0;
}
#dolce .set-drink {
	padding: 0;
}
#dolce .set-drink dt {
    border-bottom: 1px dotted rgba(255,255,255,.5);
	padding-top: 1em;
}




/*** ドリンク ************************************************************/

@media (min-width: 768px) {
	#drink .item-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: minmax(min-content, max-content);
		grid-auto-flow: dense;
	}
	#drink .item {
		display: block;		
	}
	.card--cafe  { grid-area: cafe; grid-row: span 2; }
    .card--bar  { grid-area: bar; }
    .card--alcohol   { grid-area: alcohol; }
}
@media (min-width: 768px) {
	#drink .item-list {
		grid-template-areas: "cafe bar" "cafe alcohol";
	}
}
.kimbo {
	margin-bottom: .5em;
}
.kimbo img {
	border-radius: 20px;
}
#drink .item h3 span {
	font-size: .8em;
}
.cafe-list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 1em;
}
.cafe-list dt {
	text-align: left;
	width: 40%;	
	margin-bottom: 10px;
}
.cafe-list dd {
	width: 60%;
	margin-bottom: 10px;
}
@media (max-width: 767px) {
	.cafe-list dd .base-price {
		width: 80%;
		text-align: left;
	}
}
.drink-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1em 0 0;
}
.drink-list ul {
	width: 60%;
	padding-left: 1em;
}
.drink-list figure {
	width: 40%;
	align-self: center;
}
.drink-list li {
	text-align: left;
}
#drink .cate-wrap.bar .price-group {
	margin-top: 10px;
	align-items: flex-end;	
}

/*** footer ************************************************************/

footer {
	background: #461900;
	padding: 2em 1em 1em;
}
@media (max-width: 767px) {
	.f-logo {
		width: 80%;
		margin: auto;
	}
}
@media (min-width: 768px) {	
	footer .inner {
		display: flex;
		justify-content: space-between;
		max-width: 1200px;
		margin: auto;
		padding: 0 1em;
	}
	.footer-cont {
		width: 33%;
		padding: 1em;
		text-align: center;
	}
	.map {
		width: 65%;
		min-height: 400px;
	}
}
.footer-cont .sns {	
	padding: 1em 0;
	text-align: center;
}
.sns p {
	color: #FFF;
	text-align: center;
	line-height: 1.4;
	padding-bottom: 10px;
}
.sns-ico {
	width: 40px;
}
.shop-info {
	background: #FFF;
	border-radius: 20px;
	padding: 1em 1em 0;
}
.shop-info dt {
	font-size: 1.2em;
	font-weight: 700;
	text-align: center;
}
.shop-info dd {
	padding: .5em 0 1em;
	text-align: center;
}
a.tomap-btn {
	background: #461900;
	border-radius: 30px;
	color: #FFF;
	display: inline-block;
	margin-top: .5em;
	padding: 2px 2em;
}
@media (min-width: 768px) {
	a.tomap-btn {
		display: none;
	}
}
.f-banner {
	padding-top: 1em;
}
.map iframe {
	border: none;
	border-radius: 20px;
    width: 100%;
    height: 100%;
    margin: 0;
	}
@media (max-width: 767px) {
	.map iframe {
		display: none;
	}
}
.cr {
	color: #FFF;
	font-size: .8em;
	text-align: center;
	padding-top: 1em;
}


/*** 2026/08/20追加修正 ***/

.w-full {
	width: 100%!important;
}

@media (min-width: 768px) {
	.w-full {
		display: flex;
		flex-direction: row!important;
		align-items: flex-end;
	}
	#half-set .w-full figure,
	#half-set .w-full .item-detail {
		width: 50%;
	}
}