@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 screen and (min-width: 960px) {
    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 screen and (min-width: 768px) {
	.sp {
		display: none;
	}
}
@media screen and (min-width: 960px) {
	.sp-tb {
		display: none!important;
	}
}
@media screen and (max-width: 959px) {
	.pc {
		display: none!important;
	}
}
@media screen and (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.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.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;
}

/* メニューボタン */
.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%;
	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(120%);
	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;
}
.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 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1.5em;
}
.item-list .item {
	background: #FFF;
	border: 1px solid #DC000A;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1em 10px;
}
@media (min-width: 768px) {
	.item-list .item {
		padding: 1em;
	}
}
.item-list.grid .item {
	width: 50%;
}
@media (min-width: 768px) {
	.item-list.grid .item {
		width: 33.333%;
		padding: 1em;
	}
}
@media (min-width: 960px) {
	.item-list.grid .item {
		width: 25%;
	}
}
.item-img {
	margin-bottom: 10px;
}
.item-img img {
	/*object-fit: cover;
	object-position: center;
	height: 120px;*/
	width: 100%;
}
@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;
	padding-bottom: .5em;
}
@media (min-width: 768px) {
	.item-name {
		font-size: 1.1em;
	}
}
.item-desc {	
	line-height: 1.3;
	text-align: left;
}
@media (max-width: 767px) {
	.item-desc {
		font-size: .9em;		
	}
}
.item-type {
	font-size: .85em;
}
.price-group {
	width: fit-content;
	margin: 10px 0 0 auto;
}
@media (min-width: 768px) {
	.price-group {
		margin: 0 0 0 auto;
	}
}
.price-group.d-fl {
	align-items: baseline;
}
.price {
	font-weight: 500;
	text-align: left;
	margin-right: .5em;	
}
@media (min-width: 768px) {
	.price {
		font-size: 1.1em;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
}
.tax-icon {
	width: auto;
	height: 1.2em;
	vertical-align: -0.2em;
	margin: 0 4px;
	display: inline-block;
}
.tax {
	background: #E5E5E5;
	border-radius: 4px;
	font-size: .8em;
	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 {
		display: block;
		text-align: right;
		margin-left: 0;
		margin-top: 2px;
	}
}
@media (min-width: 768px) {
	.price .tax {
		margin-left: .5em;
	}
}
.tax .tax-icon {
    margin-left: .5em;
}

/*** タイトルラベル ***/
.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;
	margin-top: 1em;
}
@media (min-width: 960px) {
	.set-drink {
		margin-top: 0;
	}
}
.set-drink .item-name {
	margin-top: -.5em;
}
.set-drink .item-name span {
	background: rgba(215,200,190,1.00);
	border-radius: 20px;	
	padding: 2px 10px;
}
.set-drink dl {
    padding-top: .5em;		
}
@media (min-width: 768px) {
	.set-drink dl {
		display: flex;
		justify-content: space-between;
	}
	.set-drink dl div {
		width: 50%;
		padding: 0 1em;
	}
}
/*@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;
}


/*** セットメニュー ****/
.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;
		justify-content: space-between;
		flex-wrap: wrap;
		/*gap: 1em;*/
		padding: 1em 0;
	}
}
/*@media (min-width: 1200px) {
	.set-menu ul {
		flex-wrap: nowrap;
	}
}*/
.set-menu .item {
    padding-left: 26px;
	position: relative;
}
@media (max-width: 767px) {
	.set-menu .item {
		border-bottom: 1px dotted #461900;
		padding-top: 1em;
		padding-bottom: 1em;
	}
}
@media (min-width: 768px) {
	.set-menu .item {
		border-right: 1px dotted #461900;
		flex: 0 0 calc((100% - 1em * 2) / 3);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding-right: 1em;		
		margin-bottom: 1em;
	}
	.set-menu .item:nth-child(3) {
		border: none;
		padding-right: 0;
	}
	.set-menu .set-drink {
		width: 100%!important;
		max-width: 960px;
		margin: 0 auto;
	}
}
/*@media (min-width: 1200px) {
	.set-menu .item,
	.set-menu .set-drink {
		flex: 0 0 calc((100% - 1em * 3) / 4); 
	}
}*/
.set-menu .item::before {
	content: "";
	background: url("../images/plus.png");
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	height: 24px;
	width: 24px;
	position: absolute;
	left: 0;
	top: .8em;
}
@media (min-width: 768px) {
	.set-menu .item::before {
		top: 0;
	}
}
.set-menu .item .item-desc {
	font-size: .9em;
}
.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 {
		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;
	}
}
/*@media (min-width: 1200px) {
	.set-menu .item .wrap figure {
		padding: 0 1em;
	}
}*/
.set-menu .set-drink {
	background: #FFF;
	border: 1px dotted #461900;
	margin-top: 1em;
}



/*** ピッツァ ************************************************************/
/*** 全粒粉説明 ***/
.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 {
	flex-grow: 1;
	width: 100%;
	position: relative;
}
@media (min-width: 768px) {
	.item-list .item.limited {
		width: 50%;
	}
}
.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 {
		text-align: center;
	}
}

/*** トッピング ***/
.topping {
	justify-content: flex-start!important;
}
.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 dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 1em;
}
.topping dt {
	width: 40%;
	text-align: left;
}
.topping dd {
	width: 60%;	
	text-align: right;
}
.topping dd .price {
	margin-top: 0!important;
	text-align: right;
}
.topping dd.w-fc {
    width: fit-content;
    margin: 5px 0 0 auto;
}
/*.topping dd .tax {
	text-align: right;
}*/




/*** 全粒粉生地吹き出し ***/
.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%;
	}
}



/*** ワンハンドピッツァ ************************************************************/

#one-hand .cate-wrap {
	background: #FFF;
	border-radius: 20px;
	padding: 1em;
}
#one-hand .item-list {
	justify-content: center;
}
@media (min-width: 768px) {
	#one-hand .item-list {
		flex-wrap: nowrap;		
	}
}
#one-hand .item-list .item {
	border: none;
	width: 50%;
	padding: 0;
}
@media (max-width: 767px) {
	#one-hand .item-list .item:first-of-type {
		width: 70%;
		padding-bottom: 1em;
	}
}
@media (min-width: 768px) {
	#one-hand .item-list .item {
		width: 33%;
		padding: 1em;
	}
}
#one-hand .item-list .item .item-name {
	text-align: center;
	padding: 0;
}
#one-hand .set-drink {
	background: #FFF;
	border: 1px dotted #461900;
	margin-bottom: 1em;
}
@media (min-width: 768px) {
	#one-hand .set-drink {
		display: flex;
	}
	#one-hand .set-drink dt {
		text-align: left;
		width: 30%;
	}
}
#one-hand .set-drink dt {
	background: rgba(215,200,190,1.00);
	border-radius: 20px;	
	padding:  5px 1em;
}
@media (min-width: 768px) {
	#one-hand .set-drink dt {
		padding: .5em 1em;
		text-align: center;
	}
}
#one-hand .set-drink dd {
	text-align: left;
}
#one-hand .price-group {
	display: flex;
	align-items: baseline;
}


/*** 選べるセット ************************************************************/

.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 {
    display: flex;
    padding:20px 0;
}
/*** モバイルだけタブ切り替え ***/
@media (max-width: 767px) {
	.choose {
		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;
		position: relative;
	}
	.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;
	}
	.choose {
		flex-wrap: wrap;
	}
}
/*** タブレット以上は全表示 ***/
@media (min-width: 960px) {
	.choose {
		flex-wrap: nowrap;
	}
}
.choose .item {
	/*background: #FFFDEC;
	border-radius: 0 0 20px 20px;*/
}
@media (min-width: 768px) {
	.choose .item {
		/*border: 1px solid #DC000A;*/
		width: 50%;
		/*padding: 1em;*/
		/*border-radius: 20px;*/
	}
}
@media (min-width: 960px) {
	.choose .item {
		width: 33.3333%;
	}
}
.choose-menu {
	background: #FFFDEC;
	border-radius: 0 0 20px 20px;
	border: 1px solid #DC000A;
	padding: 2em 1em 1em;
	position: relative;
}
@media (min-width: 768px) {
	.choose-menu {
		border-radius: 20px;
		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;
	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;
}
@media (min-width: 768px) {
	.full {
		display: flex;
	}
}
@media (min-width: 768px) and (max-width: 959px){ 
	.full {
		width: 100%!important;
	}
}
@media (min-width: 768px) and (max-width: 959px){ 
	.full > div {
		width: 50%;
	}
}
@media (min-width: 960px) {
	.full {
		flex-direction: column;
		align-items: stretch;
	}
}
@media (min-width: 768px) {
	.h-half {
		height: 50%;
	}
}


/*** ハーフピッツア ************************************/

#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;
}
@media (min-width: 768px) {
	#half-set,
	#premium {
	}
}
.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(80vw, 800px) * (1 / 3) / 2 );
}
@media (min-width: 768px) {}
@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;	
	}
}
@media (min-width: 768px) {
	#half-set .item-list.set .item {
		width: 50%;
	}
}
#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;
}
#half-set .price {
	font-size: 1.2em;
}
.option-salad {
	background: #FFFDEC;
	border: 5px solid #FF9B00;
	border-radius: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;	
	width: 100%;	
	padding: 10px;
}
@media (min-width: 960px) {
	.option-salad {
		align-items: flex-end;
		height: 100%;
		margin-top: 1em;
	}
}
.option-salad img {
	max-width: 100px;
}
.label-ellipse.option {
	background: #FF9B00;
	color: #FFF;
}
.option-price {
	color: #FF6E00;
	font-size: 1.2em;
	font-weight: 700;
	padding-right: 5px;
}
#half-set .sp {
	width: 100%;
}
#half-set .sp .option-salad {
	margin-top: 1em;
}

/*** プレミアムセット ************************************************************/

@media (min-width: 960px) {
	#premium .choose {
		flex-wrap: wrap;
	}
}
#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;
	width: 100%;
	padding: 1em;
}
@media (max-width: 767px) {
	.subset {
		margin-top: 1em;
		position: relative;
	}
	.subset .label-ellipse {
		position: absolute;
		top: 1em;
		left: 1em;
		transform: rotate(-5deg);
	}
}
.pset {	
	display: flex;
	justify-content: space-between;
	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 {
	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 {
		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%;
		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 .croissant .price-group .tax {
	background: rgba(255,255,255,.2);
}
#dolce .set-drink {
	padding: 0;
}
@media (min-width: 768px) and (max-width: 959px) {
	#dolce .set-drink {
		display: flex;
		flex-wrap: wrap;		
	}
	#dolce .set-drink div {
		width: 50%;
		padding: 0 1em;
	}	
}
#dolce .set-drink dt {
    border-bottom: 1px dotted rgba(255,255,255,.5);
	padding-top: 1em;
}




/*** ドリンク ************************************************************/

@media (max-width: 767px) {	
	#drink .item {
		width: 100%!important;
	}
}
@media (min-width: 768px) {
	#drink .item {
		width: 50%;
		justify-content: flex-start;
	}
}
#drink .item:nth-child(2) {
    background: none;
    padding: 0;
}
.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 div {
	width: 100%;
	text-align: left;
}
.cafe-list dt {
	text-align: left;
	width: 45%;	
	margin-bottom: 10px;
}
@media (max-width: 959px) {
	.cafe-list dt {
		max-width: 140px;
	}
}
.cafe-list dd {
	font-size: 1.1em;
	flex-grow: 1;
	margin-bottom: 10px;
}
.cafe-list dd .tax {
	display: inline-block;
	white-space: nowrap;
}
@media (min-width: 768px) {
	.cafe-list dd {
		display: flex;
		align-items: baseline;
	}
}
#drink .cate-wrap {
	background: #FFF;
	border-radius: 20px;
	border: 1px solid #DC000A;
	padding: 1em;
}
.drink-list {
	display: flex;
	justify-content: space-between;
	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%;
	}
}
.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;
}
