@charset "UTF-8";
/*------------------------------------------
top	firstview
-------------------------------------------*/
.firstview {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio:1366/832;
}
@media screen and (max-width: 896px) {
	.firstview {
		position: relative;
		width: 100%;
		height: 100vh;
	}
}
.firstview::after {
	content: '';
	position: absolute;
	margin: 0 auto;
	top: 50%;
	left: 0;
	right: 0;
	width: calc(100% - 80px);
	height: calc(100% - 80px);
	background: url("../../img/firstview_logo.svg") center center no-repeat;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
	border-left: solid 2px #fff;
	transform: translateY(-50%);
}
@media screen and (max-width: 896px) {
	.firstview::after {
		content: '';
		position: absolute;
		margin: 0 auto;
		top: 50%;
		left: 0;
		right: 0;
		width: calc(100% - 60px);
		height: calc(100% - 60px);
		background: url("../../img/firstview_logo.svg") center center no-repeat;
		background-size: 60% auto;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		border-bottom: solid 2px #fff;
		border-left: solid 2px #fff;
		transform: translateY(-50%);
	}
}


/*------------------------------------------
コンテンツエリア
-------------------------------------------*/
#menu {
	position: relative;
	margin: 0 auto 80px;
	max-width: 1460px;
	width: 100%;
	background: url("../../img/contents_item_left.svg"), url("../../img/contents_item_right.svg");
	background-position: top 50px left, top 50px right;
	background-repeat: no-repeat;
	background-size: 200px auto;
	overflow: visible;
}
@media screen and (max-width: 896px) {
	#menu {
		position: relative;
		margin: 0 auto;
		max-width: 1460px;
		width: 100%;
		background: url("../../img/contents_item_left.svg"), url("../../img/contents_item_right.svg");
		background-position: top 20px left, top 20px right;
		background-repeat: no-repeat;
		background-size: 30% auto;
		overflow: visible;
	}
}
#menu h2 {
	margin: 0 auto;
	padding-top: 100px;
	max-width: 1460px;
	
}
@media screen and (max-width: 896px) {
	#menu h2 {
		margin: 0 auto;
		padding-top: 100px;
		max-width: 1460px;
		overflow: visible;
	}
}
#coffee .items {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 896px) {
	#coffee .items {
		display: block;
	}
}
#coffee .items .item  {
	width: 48%;
	height: auto;
}
@media screen and (max-width: 896px) {
	#coffee .items .item  {
		margin-bottom: 50px;
		width: 100%;
		height: auto;
	}
}
#coffee .flex_box {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 896px) {
	#coffee .flex_box {
		position: relative;
		display: flex;
		justify-content: space-between;
	}
}
#coffee .item h4 {
	font-family: "MaruFoPro", sans-serif;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: 700;
}
#coffee .item p {
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: 600;
}
@media screen and (max-width: 896px) {
	#coffee .item p {
		font-size: 1.2rem;
		line-height: 1.2;
		font-weight: 600;
	}
}
#coffee .flex_box .photo {
	width: 48%;
	height: auto;
}
#coffee .flex_box .photo img {
	width: 100%;
	height: auto;
	aspect-ratio:1/1;
	object-fit: cover;
}
#coffee .flex_box .text_box {
	width: 45%;
	height: auto;
}
#coffee .flex_box .text_box .amount {
	width: auto;
	font-weight: 400;
}

#coffee .menu_list li {
	display: flex;
	font-size: 1.4rem;
	font-weight: 900;
	justify-content: space-between;
}
@media screen and (max-width: 896px) {
	#coffee .menu_list li {
		display: flex;
		font-size: 1.2rem;
		font-weight: 600;
		justify-content: space-between;
	}
}
#sweets.contents {
	position: relative;
	margin: 0 auto;
	max-width: 1460px;
	width: 100%;
}

#sweets::before {
	content: '';
	position: absolute;
	right: 0;
	top: 10px;
	width: 210px;
	height: 150px;
	background: url("../../img/contents_item_02_right.svg");
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: auto 100%;
}
@media screen and (max-width: 896px) {
	#sweets::before {
		content: '';
		position: absolute;
		right: 0;
		top: 50px;
		width: 70px;
		height: 60px;
		background: url("../../img/contents_item_02_right.svg");
		background-position: bottom right;
		background-repeat: no-repeat;
		background-size: auto 100%;
	}
}
#sweets .flex_wrapper .flex_item {
	margin-right: 40px;
	width: calc(100%/3 - 27px);
}
@media screen and (max-width: 896px) {
	#sweets .flex_wrapper .flex_item {
		position: relative;
		margin-right: 0;
		margin-bottom: 40px;
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
}
#sweets .flex_wrapper .flex_item:nth-of-type(3n) {
	margin-right: 0;
}
h5 span {
	display: block;
	font-size: 1.4rem;
}
#sweets .flex_wrapper .flex_item .photo {
	width: 100%;
	height: auto;
	aspect-ratio:1/1;
}
@media screen and (max-width: 896px) {
	#sweets .flex_wrapper .flex_item .photo {
		width: 48%;
		height: auto;
		aspect-ratio:1/1;
		object-fit: cover;
	}
}
@media screen and (max-width: 896px) {
	#sweets .flex_wrapper .flex_item .text_box {
		width: 45%;
		height: auto;
	}
}

#food {
	margin-bottom: 50px;
}
#food .flex_wrapper .flex_item {
	margin-right: 40px;
	width: calc(100%/4 - 20px);
}
#food .flex_wrapper .flex_item img {
	width: 100%;
	height: auto;
	aspect-ratio:1/1;
	object-fit: cover;
}
.amount {
	width: 100%;
	text-align: right;
	font-size: 1.4rem;
}
@media screen and (max-width: 896px) {
	.amount {
		width: auto;
		text-align: right;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 896px) {
	#food .flex_wrapper .flex_item {
		position: relative;
		margin-right: 0;
		margin-bottom: 40px;
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	#food .flex_wrapper .flex_item .photo {
		width: 48%;
		height: auto;
		aspect-ratio: 1/1;
	}
	#food .flex_wrapper .flex_item .text_box {
		width: 45%;
		height: auto;
	}
	.amount {
		bottom: 0;
		right: 0;
		font-size: 1.1rem;
	}
}



#gallery {
	position: relative;
	padding: 50px 0;
	background: #EFE3D3;
}
#gallery h2 {
	margin-bottom: 50px;
}
#gallery .gallery_wrapper {
	position: relative;
	column-count: 3;
	transition: all .5s ease-in-out;
	column-gap: 20px;
	column-fill: initial;
}
#gallery .gallery_wrapper .gallery_item {
	margin-bottom: 20px;
	display: inline-block;
	vertical-align: top;
}
#gallery .gallery_wrapper .gallery_item:nth-of-type(3n) {
	margin-right: 0;
}
:root {
    --swiper-theme-color: #503A2A!important;
}
.swiper-pagination-bullet {
	border-radius: 0!important;
}


#access {
	padding: 50px 0;
}
#access h2 {
	margin-bottom: 50px
}
#access .map iframe {
	width: 100%;
	height: 800px;
	filter: grayscale( 80% );
}
@media screen and (max-width: 896px) {
	#access .map iframe {
		width: 100%;
		height: 600px;
		filter: grayscale( 80% );
	}
}


#shop_info h2 {
	margin-bottom: 50px;
}
#shop_info {
	padding: 50px 0;
	background: #EFE3D3;
}
#shop_info .info_wrapper {
	margin: 0 auto 40px;
	width: 380px;
}
@media screen and (max-width: 896px) {
	#shop_info .info_wrapper {
		margin: 0 auto 40px;
		width: 80%;
		height: auto;
	}
}
#shop_info dl {
	margin-bottom: 20px;
	display: flex;
}
@media screen and (max-width: 896px) {
	#shop_info dl {
		margin-bottom: 10px;
		display: flex;
	}
}
#shop_info dl dt {
	width: 80px;
	margin-right: 60px;
}
@media screen and (max-width: 896px) {
	#shop_info dl dt {
		width: 25%;
		min-width: 80px;
		margin-right: 20px;
	}
	#shop_info dl dd {
		width: 75%;
	}
}
.instagram_link {
	margin: 0 auto;
	width: 50px;
	height: auto;
}