/*================================================================
Chrome/Firefox/Edgeなど、各ブラウザはそれぞれデフォルトで効くCSSを持っています。
何もしないと見え方が微妙に変わるので、デフォルトのCSSをリセットして
ブラウザごとの表示の差異をなくすために書くのが「リセットCSS」です。
================================================================*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
	border: 0;
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
	display: block;
}

ol,
ul {
	list-style: none;
}

img {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

a {
	color: inherit;
	text-decoration: none;
}

button {
	background: transparent;
	border: none;
	box-shadow: none;
	cursor: pointer;
	font: inherit;
	margin: 0;
	padding: 0;
}

input,
select,
textarea {
	color: inherit;
	font: inherit;
	vertical-align: top;
}

/*===================================================
# mixin
===================================================*/

body {
	background: #f3efeb;
	color: #222222;
	font-family: "Noto Serif JP", "NotoSerifCJKjp Medium", serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
}

body.is-fixed {
	overflow: hidden;
}

main {
	overflow-x: hidden;
}

.l-cover {
	background-color: rgba(0, 0, 0, 0.3);
	height: 100%;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	transition: opacity 0.3s;
	width: 100%;
	z-index: 9;
}

.l-cover.is-active {
	opacity: 1;
	pointer-events: auto;
}

.l-header {
	left: 0;
	position: fixed;
	top: 0;
	transition: opacity 0.3s;
	width: 100%;
	z-index: 10;
}

.l-main {
	display: flex;
	height: auto;
	margin: 0 auto;
	width: 100%;
}

.l-concept {
	padding: 160px 0 340px;
	position: relative;
}

.l-concept::before {
	background-color: #eae0d5;
	bottom: 241px;
	content: "";
	height: 300px;
	left: 0;
	position: absolute;
	width: calc(50vw + 43%);
	z-index: -1;
}

.l-lunch {
	background-color: #eae0d5;
	padding-bottom: 80px;
	padding-top: 81px;
}

.l-grandmenu {
	padding: 160px 0 251px;
	position: relative;
}

.l-grandmenu::before {
	background-color: #eae0d5;
	bottom: 160px;
	content: "";
	height: 79.3184488837%;
	position: absolute;
	right: 0;
	width: 80%;
	z-index: -1;
}

.l-gallery {
	background-color: #eae0d5;
	padding: 80px 0 86px;
}

.l-top-news {
	padding-bottom: 166px;
	padding-top: 120px;
}

.l-content__inner {
	display: flex;
	height: auto;
}

.l-content__menu {
	height: auto;
	width: 15.625%;
}

.l-content__main {
	height: auto;
	width: 84.375%;
}

.l-to-top-button {
	bottom: 20px;
	display: none;
	position: fixed;
	right: 17px;
	z-index: 8;
}

.l-access {
	background: #eae0d5;
	padding: 80px 0;
}

.l-pickup-news {
	bottom: 83px;
	max-width: 100%;
	position: absolute;
	right: 20px;
	transform: none;
	width: 388px;
	z-index: 2;
}

.l-inner {
	margin-inline: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 1180px;
	padding-left: 40px;
	padding-right: 40px;
}

.l-footer {
	background: #382620;
}

.l-breadcrumb {
	margin: 15px auto 0;
	max-width: 1180px;
	padding: 0 40px;
}

.l-concept-wrapper {
	padding-bottom: 40px;
	padding-top: 76px;
}

.l-concept-block {
	padding-left: 40px;
	padding-right: 40px;
	position: relative;
}

.l-concept-block:nth-child(n+1) {
	padding-bottom: 201px;
}

.l-concept-block:nth-of-type(1)::before {
	background-color: #eae0d5;
	bottom: 100px;
	content: "";
	height: 200px;
	position: absolute;
	right: 0;
	width: calc(50vw + 344px);
	z-index: -1;
}

.l-concept-block:nth-of-type(2)::before {
	background-color: #eae0d5;
	bottom: 138px;
	content: "";
	height: 437px;
	left: 0;
	position: absolute;
	width: calc(50vw - 60px);
	z-index: -1;
}

.l-concept-block:nth-of-type(3)::before {
	background-color: #eae0d5;
	content: "";
	height: 520px;
	position: absolute;
	right: 0;
	top: -40px;
	width: calc(50vw - 240px);
	z-index: -1;
}

.l-menus {
	margin: 0 auto;
	margin-top: 78px;
	max-width: 1180px;
	padding-left: 40px;
	padding-right: 40px;
}

.l-menu-wrapper {
	margin: 0 auto;
	margin-bottom: 160px;
	margin-top: 79px;
	max-width: 1180px;
	padding-left: 40px;
	padding-right: 40px;
}

.l-news-wrapper {
	margin: 0 auto;
	max-width: 1190px;
	padding: 76px 45px 160px;
}

.l-news-wrapper__inner {
	display: flex;
}

.l-news-wrapper__main {
	margin-right: 6.5454545455%;
	width: 66.1818181818%;
}

.l-news-wrapper__side {
	min-width: 230px;
	width: 27.2727272727%;
}

.l-pagination {
	margin-top: 37px;
	text-align: center;
	width: 100%;
}

.l-entry-news {
	margin: 0 auto;
	margin-top: 78px;
	max-width: 1220px;
}

.l-entry-news__inner {
	margin: 0 auto;
	max-width: 688px;
	width: 100%;
}

.l-pagination-secondary {
	margin-top: 30px;
	text-align: center;
	width: 100%;
}

.l-related {
	margin-bottom: 157px;
	margin-top: 120px;
}

.l-shop {
	margin: 0 auto;
	margin-bottom: 160px;
	margin-top: 78px;
	max-width: 1220px;
}

.l-shop__inner {
	margin: 0 auto;
	max-width: 689px;
	width: 100%;
}

.l-gift {
	margin: 0 auto;
	max-width: 1190px;
	padding: 77px 45px 0;
}

.l-gift-info {
	margin: 0 auto;
	max-width: 1190px;
	padding: 100px 45px 159px;
}

.l-contact {
	margin: 0 auto;
	margin-bottom: 166px;
	margin-top: 78px;
	max-width: 768px;
	padding: 0px 40px;
}

.thanks.l-contact {
	margin-bottom: 160px;
}

.l-form {
	margin-top: 81px;
}

.c-to-top-button {
	background: #fff;
	border-radius: 50%;
	color: #382620;
	display: inline-block;
	font-size: 20px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	text-decoration: none;
	width: 44px;
}

.c-to-top-button:hover {
	opacity: 0.7;
}

.c-archive__title {
	color: #222222;
	font-size: 24px;
	font-weight: 700;
}

.c-primary-button {
	background-color: #222222;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	min-width: 280px;
	padding: 25px 20px 24px;
	position: relative;
	text-align: center;
	transition: all 0.3s ease 0s;
}

.c-primary-button::after {
	background: url(../img/arrow-right.png) no-repeat center center/contain;
	content: "";
	height: 16px;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 7px;
}

.c-primary-button::before {
	border-bottom: 1px solid #aaaaaa;
	border-right: 1px solid #aaaaaa;
	bottom: -6px;
	content: "";
	height: 100%;
	position: absolute;
	right: -6px;
	width: 100%;
}

.c-primary-button:hover {
	transform: translate(5px, 5px);
}

.c-primary-button:hover::before {
	border: none;
}

.c-secondary-button {
	background-color: #222222;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	min-width: 174px;
	padding: 8px 24px;
	text-align: center;
	transition: all 0.3s ease 0s;
}

.c-secondary-button:hover {
	background-color: #ffffff;
	border: 1px solid #222222;
	color: #222222;
}

.c-heading-title {
	text-align: center;
}

.c-heading-title__main {
	font-family: "Amatic SC", sans-serif;
	font-size: 52px;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: normal;
	padding-left: 10px;
}

.c-heading-title__sub {
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
	margin-top: 7px;
}

.p-concept-title .c-heading-title__main {
	padding-left: 0;
}

.c-header-menu-button {
	background: url(../img/close.png);
	background-size: 100% auto;
	border: none;
	color: transparent;
	height: 60px;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	width: 60px;
}

.c-grandmenu-title {
	border-bottom: 2px solid #222;
	border-top: 2px solid #222;
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
	padding: 7px 20px 7px;
	position: relative;
}

.c-grandmenu-title::before {
	background-color: #222222;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 2px;
	width: 100%;
}

.c-grandmenu-title::after {
	background-color: #222222;
	bottom: 2px;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}

.c-widget-title {
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
	padding-bottom: 22px;
	position: relative;
}

.c-widget-title::before {
	background-color: #222222;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 32px;
}

.c-secondary-title {
	border-left: 6px solid #382620;
	font-size: 24px;
	font-weight: 700;
	line-height: normal;
	margin-bottom: 20px;
	padding: 0 17px;
}

.c-third-title {
	border-bottom: 1px solid #382620;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 20px;
	padding: 0 0 9px;
}

.c-shop-title {
	border-left: 6px solid #382620;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: normal;
	margin-bottom: 22px;
	padding: 0 17px;
}

.p-breadcrumb {
	align-items: center;
	display: flex;
	white-space: nowrap;
}

.p-breadcrumb__item:not(:last-child)::after {
	content: ">";
	margin-left: 14px;
	margin-right: 14px;
}

.p-breadcrumb__link,
.p-breadcrumb__text {
	color: #382620;
	font-size: 14px;
	font-weight: 700;
	transition: opacity 0.3s ease 0s;
}

.p-breadcrumb__link:hover,
.p-breadcrumb__text:hover {
	opacity: 0.7;
}

.p-page-header {
	position: relative;
}

.p-page-header__inner {
	left: 50%; /* 左端から50%の位置に */
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%); /* 自身のサイズの50%だけ左と上に移動 */
	z-index: 2; /* オーバーレイよりも前に表示 */
}

.p-page-header__logo {
	color: #ffffff;
	font-family: "Amatic SC", sans-serif;
	font-size: 72px;
	font-weight: 700;
	letter-spacing: 14.4px;
	line-height: 1.264; /* ラインハイトを調整 */
	padding-left: 15px;
}

.p-page-header__sub {
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.71429;
	margin-top: 5px;
}

.p-page-header__picture {
	position: relative; /* 擬似要素をこのコンテナに対して相対的に配置する */
}

.p-page-header__picture::before,
.p-page-header__picture::after {
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-page-header__picture::before {
	background: rgba(0, 0, 0, 0.4); /* 半透明のオーバーレイ */
	outline: 2px solid #ffffff; /* 線の太さ・線状・色 */
	outline-offset: -10px; /* どれだけ内側に線を表示したいかを負の値で指定 */
}

.p-page-header__picture::after {
	outline: 1px solid #ffffff; /* 線の太さ・線状・色 */
	outline-offset: -16px; /* どれだけ内側に線を表示したいかを負の値で指定 */
}

.p-page-header__picture img {
	display: block; /* 画像がデフォルトで持っているパディング/マージンを取り除く */
	height: auto; /* 画像の比率を保持 */
	width: 100%;
}

.p-footer {
	margin: 0 auto;
	max-width: 100%;
	position: relative;
	width: 1280px;
}

.p-footer::after {
	background: url(../img/bg_coffee-beans3.png) no-repeat center center/contain;
	content: "";
	height: 288px;
	left: -85px;
	position: absolute;
	top: -8px;
	transform: translateY(-50%);
	width: 341px;
}

.p-footer-sns__buttons {
	display: flex;
	gap: 25px;
	justify-content: center;
	padding: 38px;
}

.p-footer-sns__button {
	width: 24px;
}

.p-footer-sns__button:hover {
	opacity: 0.7;
}

.p-footer-sns__link {
	display: inline-block;
	width: 100%;
}

.p-footer__copy {
	color: #fff;
	display: block;
	font-size: 12px;
	font-weight: 500;
	line-height: 2;
	padding-bottom: 16px;
	text-align: center;
}

.p-access {
	margin: 0 auto;
	max-width: 100%;
	position: relative;
	width: 1280px;
}

.p-access::before {
	background: url(../img/bg_bread.png) no-repeat center center/contain;
	content: "";
	height: 360px;
	position: absolute;
	right: -93px;
	text-align: center;
	top: 0;
	transform: translateY(-73%);
	width: 390px;
}

.p-access__head {
	margin-bottom: 40px;
	position: relative;
}

.p-access__head::before {
	background: url(../img/img_balloon-access.png) left top no-repeat;
	background-size: 100% auto;
	content: "";
	height: 180px;
	left: calc(50% - 305px);
	position: absolute;
	text-align: center;
	top: 0;
	transform: translateY(-73%);
	width: 234px;
}

.p-access__map {
	margin: auto;
	max-width: 100%;
	width: 688px;
}

.p-access__iframe-wrap {
	border: 10px solid #fff;
	padding-top: 53.4431137725%;
	position: relative;
	width: 100%;
}

.p-access__iframe-wrap iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-access__info {
	display: flex;
	gap: 40px;
	justify-content: center;
	margin-top: 40px;
}

.p-access__info-col-wrap {
	flex-basis: 324px;
}

.p-access__info-col {
	border-bottom: 1px solid #000;
	display: flex;
}

.p-access__info-col:not(:first-child) {
	margin-top: 22px;
}

.p-access__info-col dt {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	width: 56px;
}

.p-access__info-col dd {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	margin-bottom: 12px;
	margin-left: 25px;
}

.p-header-top {
	opacity: 0;
	transition: opacity, 0.3s;
}

.p-header-top.is-show {
	opacity: 1;
}

.p-header-top__container {
	background-color: #382620;
	color: #ffffff;
	height: 100%;
	max-width: 100%;
	opacity: 0;
	padding: 10px 13px;
	position: fixed;
	right: -375px;
	transition: opacity 0.3s;
	width: 375px;
	z-index: 10;
}

.p-header-top__container.is-active {
	opacity: 1;
	right: 0;
}

.p-header-top__logo {
	width: 120px;
}

.p-header-top__logo:hover {
	opacity: 0.7;
}

.p-header-top__logo-link {
	background: url(../img/logo_light.png) left top no-repeat;
	background-size: 100% auto;
	display: block;
	height: 0;
	overflow: hidden;
	padding-top: 52.5%;
	width: 120px;
}

.p-header-top__nav {
	margin: 56px auto 51px;
	padding: 0 0 0 27px;
}

.p-header-top__nav-item:hover {
	opacity: 0.7;
}

.p-header-top__nav-item:not(:first-child) {
	margin-top: 31px;
}

.p-header-top__nav-link {
	display: inline-block;
	width: 100%;
}

.p-header-top__button-en {
	color: #ffffff;
	font-family: "Patua One", serif;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 2.88px;
	line-height: 1.208;
}

.p-header-top__button-ja {
	bottom: 1px;
	color: #ffffff;
	font-family: "Noto Serif JP", "NotoSerifCJKjp Medium", serif;
	font-size: 10px;
	font-style: normal;
	line-height: normal;
	margin-left: 28px;
	position: relative;
}

.p-header-top__button-ja::before {
	content: "／";
	left: -22px;
	position: absolute;
	top: 0;
}

.p-header-sns__buttons {
	display: flex;
	gap: 32px;
	justify-content: center;
}

.p-header-sns__button {
	width: 40px;
}

.p-header-sns__link:hover {
	opacity: 0.7;
}

.p-menu {
	height: auto;
	width: 15.625%;
}

.p-menu__container {
	padding: 27px 17px 0 18px;
}

.p-menu__logo {
	margin: 0 auto;
	max-width: 166px;
	padding-bottom: 54px;
}

.p-menu__logo:hover {
	opacity: 0.7;
}

.p-menu__nav-item {
	padding-bottom: 30px;
}

.p-menu__nav-link {
	text-align: center;
}

.p-menu__nav-link:hover {
	opacity: 0.7;
}

.p-menu__button-en {
	color: #222222;
	display: block;
	font-family: "Patua One", serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1.92px;
	line-height: normal;
}

.p-menu__button-ja {
	color: #222222;
	display: block;
	font-family: "Noto Serif JP", "NotoSerifCJKjp Medium", serif;
	font-size: 10px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	margin-top: 6px;
}

.p-menu-sns__buttons {
	display: flex;
	gap: 24px;
	justify-content: center;
	margin-top: 28px;
}

.p-menu-sns__button {
	width: 24px;
}

.p-menu-sns__link:hover {
	opacity: 0.7;
}

.p-main {
	height: auto;
	padding-bottom: 60px;
	position: relative;
	width: 84.375%;
	z-index: 1;
}

.p-main::after {
	background-color: #eae0d5;
	bottom: 0;
	content: "";
	height: 100%;
	position: absolute;
	right: 0;
	width: 91.1111111111%;
	z-index: -1;
}

.p-main__copy {
	bottom: 110px;
	left: 56px;
	position: absolute;
	z-index: 2;
}

.p-main__copy-text {
	color: #ffffff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 2.3;
}

.p-pickup-news {
	background-color: rgba(255, 255, 255, 0.85);
	margin: 0 auto;
	padding: 16px;
	position: relative;
}

.p-pickup-news::before {
	background: url(../img/img_balloon-pickup.png) left top no-repeat;
	background-size: 100% auto;
	content: "";
	height: 99px;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: -75px;
	width: 168px;
	z-index: 2;
}

.p-pickup-news__tag {
	align-items: center;
	left: -8px;
	position: absolute;
	top: 8px;
	z-index: 3;
}

.p-pickup-news__tag-text {
	background: #222;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: normal;
	padding: 3px 7px 4px 15px;
}

.p-pickup-news__tag-text::before {
	border-color: transparent #aaaaaa transparent transparent;
	border-style: solid;
	border-width: 0 8px 4px 0;
	content: "";
	height: 0;
	left: 0;
	position: absolute;
	top: 100%;
	width: 0;
}

.p-pickup-news__tag-text::after {
	border-color: #222 transparent #222 #222;
	border-style: solid;
	border-width: 12px 6px 12px 0px;
	content: "";
	height: 0;
	position: absolute;
	right: -8px;
	top: 0;
	width: 8px;
	z-index: 3;
}

.p-column-card {
	position: relative;
}

.p-column-card__link {
	display: flex;
	width: 100%;
}

.p-column-card__thumbnail {
	flex-shrink: 0;
	height: 120px;
	width: 120px;
}

.p-column-card__thumbnail:hover {
	opacity: 0.7;
}

.p-column-card__contents {
	display: flex;
	flex-direction: column;
	margin-left: 16px;
}

.p-column-card__date {
	font-size: 12px;
	line-height: normal;
}

.p-column-card__head {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.7;
	margin-top: 10px;
}

.p-main-slide__slide-img img {
	height: 735px;
	width: 100%;
}

.p-main-slide__pagination {
	display: flex;
	gap: 9px;
	padding-bottom: 8px;
	padding-left: 15px;
}

.p-main-slide__pagination .swiper-pagination-bullet {
	background: #fff;
	opacity: 1;
}

.p-main-slide__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #d59b71;
}

/* 画像の拡大効果 */

.zoom-effect {
	animation: zoomIn 4s ease-in-out forwards; /* 4秒で拡大 */
}

/* 拡大アニメーション定義 */

.p-header-button {
	position: fixed;
	right: 10px;
	top: 10px;
	z-index: 100;
}

.p-header-button__icon {
	background-color: #382620;
	border-radius: 50%;
	cursor: pointer;
	display: inline-block;
	height: 60px;
	overflow: hidden;
	transition: opacity 0.3s;
	width: 60px;
}

.p-header-button__icon.is-active {
	background-color: #fff;
}

.p-header-button__icon.is-active .drawer-icon__line::before,
.p-header-button__icon.is-active .drawer-icon__line::after {
	background-color: #382620;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	transform: translateX(-50%);
	transform-origin: center;
	width: 100%;
}

.p-header-button__icon.is-active .drawer-icon__line::before {
	top: 0px;
	transform: rotate(45deg);
}

.p-header-button__icon.is-active .drawer-icon__line::after {
	top: 0px;
	transform: rotate(-45deg);
}

.drawer-icon__line {
	background-color: #fff;
	border-radius: 1px;
	height: 2.25px;
	left: 50%;
	position: absolute;
	top: 45%;
	transform: translate(-50%, -50%);
	transition: transform 0.3s, background-color 0.3s, top 0.3s;
	width: 27px;
}

.drawer-icon__line::before,
.drawer-icon__line::after {
	background-color: #fff;
	content: "";
	display: block;
	height: 100%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	transform-origin: center;
	transition: transform 0.3s, background-color 0.3s, top 0.3s;
	width: 100%;
}

.drawer-icon__line::before {
	top: -7px;
}

.drawer-icon__line::after {
	top: 7px;
}

.drawer-icon__open {
	color: transparent;
	height: 0;
	left: 0;
	position: absolute;
	top: 0;
}

.p-header-button-fixed {
	padding: 10px 13px;
}

.p-header-button-fixed_logo {
	display: none;
	width: 120px;
}

.p-header-button-fixed_logo-link {
	background: url(../img/logo_light.png) left top no-repeat;
	background-size: 100% auto;
	display: block;
	height: 0;
	overflow: hidden;
	padding-top: 52.5%;
	width: 120px;
}

.p-concept {
	margin: 0 auto;
	max-width: 1280px;
	position: relative;
}

.p-concept::before {
	background: url(../img/bg_coffee-beans.png) no-repeat center center/contain;
	content: "";
	height: 265px;
	position: absolute;
	right: -40px;
	top: -204px;
	width: 296px;
	z-index: 2;
}

.p-concept__inner {
	display: flex;
	flex-direction: row-reverse;
	gap: 80px;
	margin: 0 auto 0 0;
	max-width: 1190px;
}

.p-concept__content {
	margin: 18px 40px 20px 0;
	max-width: 470px;
}

.p-concept__head {
	text-align: left;
}

.p-concept__text {
	font-size: 28px;
	font-weight: 700;
	line-height: 2.143;
	margin-top: 49px;
}

.p-concept__subtext {
	line-height: 2;
	margin-top: 48px;
}

.p-concept__button {
	margin-top: 54px;
	max-width: 100%;
	width: 280px;
}

.p-lunch {
	margin: 0 auto;
	max-width: 1280px;
	position: relative;
}

.p-lunch::before {
	background: url(../img/bg_coffee-leaves.png) no-repeat center center/contain;
	content: "";
	height: 228px;
	position: absolute;
	right: -34px;
	text-align: center;
	top: -281px;
	transform: translateY(-50%);
	width: 201px;
}

.p-lunch__inner {
	padding-left: 50px;
	padding-right: 50px;
}

.p-lunch__card {
	background-color: #fff;
	margin-top: 58px;
	padding: 40px 20px 20px;
	position: relative;
}

.p-lunch__card-balloon {
	position: absolute;
	right: calc(50% - 300px);
	top: -299px;
	width: 308px;
}

.p-lunch__card-title {
	position: absolute;
	right: 50%;
	top: -21px;
	transform: translateX(50%);
	width: 350px;
}

.p-lunch__body {
	margin-top: 20px;
}

.p-lunch__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom: 40px;
	width: 100%;
}

.p-lunch__item {
	margin-right: 5.9523809524%;
	max-width: 400px;
	width: 47.0238095238%;
}

.p-lunch__item:nth-child(2n) {
	margin-right: 0;
	position: relative;
}

.p-lunch__item:nth-child(n+3) {
	margin-top: 40px;
}

.p-lunch__item-img {
	margin-bottom: 16px;
	padding-top: 100%;
	position: relative;
	width: 100%;
}

.p-lunch__item-img img {
	font-family: "object-fit:cover;object-position:50% 50%";
	height: 100%;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 50%;
	object-position: 50% 50%;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-lunch__item-body {
	display: flex;
}

.p-lunch__item-num {
	align-items: center;
	background: #222;
	color: #ffffff;
	display: flex;
	flex-shrink: 0;
	font-family: "Patua One", serif;
	font-size: 32px;
	font-weight: 400;
	height: 49px;
	justify-content: center;
	line-height: normal;
	margin-right: 12px;
	width: 49px;
}

.p-lunch__item-name {
	font-size: 18px;
	font-weight: 700;
	line-height: normal;
}

.p-lunch__set {
	background: #f7f6f4;
	border-radius: 8px;
	margin-top: 60px;
	padding: 20px 0;
}

.p-lunch__set-img {
	margin: 0 auto;
}

.p-lunch__set-img img {
	width: 100%;
}

.p-lunch__set-textbox {
	margin-top: 20px;
	text-align: center;
}

.p-lunch__set-texthead {
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	text-align: center;
}

.p-lunch__set-price {
	background: url(../img/dotted.png) left bottom no-repeat;
	background-size: 100% auto;
	display: inline-block;
	font-family: "Damion", cursive;
	font-size: 40px;
	font-weight: 400;
	line-height: normal;
	margin-top: 1px;
	padding: 0 6px 8px 0;
}

.p-lunch__set-time {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: normal;
	margin-top: 9px;
	text-align: center;
}

.p-grandmenu {
	margin: 0 auto;
	max-width: 1280px;
	position: relative;
}

.p-grandmenu::before {
	background: url(../img/bg_coffee-leaves2.png) no-repeat center center/contain;
	content: "";
	height: 397px;
	left: -99px;
	position: absolute;
	text-align: center;
	top: -295px;
	width: 397px;
}

.p-grandmenu::after {
	background: url(../img/bg_coffee-beans2.png) no-repeat center center/contain;
	bottom: -202px;
	content: "";
	height: 330px;
	position: absolute;
	right: -134px;
	text-align: center;
	width: 390px;
}

.p-grandmenu__inner {
	padding-left: 90px;
	padding-right: 90px;
}

.p-grandmenu__wrap {
	margin-top: 41px;
}

.p-grandmenu__block {
	margin-bottom: 100px;
}

.p-grandmenu__block-drink {
	margin-bottom: 50px;
}

.p-grandmenu__body {
	margin-top: 24px;
}

.p-grandmenu__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.p-grandmenu__item {
	margin-right: 3.0909090909%;
	width: 31.1818181818%;
}

.p-grandmenu__item:nth-child(3n) {
	margin-right: 0;
}

.p-grandmenu__item:nth-child(n+4) {
	margin-top: 40px;
}

.p-grandmenu__button {
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	transform: translate(-3px, 6px);
	width: 280px;
}

.p-grandmenu-card {
	max-width: 343px;
}

.p-grandmenu-card__img {
	background: #fff;
	height: 0;
	padding-top: 100%;
	position: relative;
	width: 100%;
}

.p-grandmenu-card__img img {
	border: 8px solid #fff;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-grandmenu-card__body {
	margin-top: 13px;
}

.p-grandmenu-card__name {
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
}

.p-grandmenu-card__price {
	font-family: "Damion", cursive;
	font-size: 32px;
	font-weight: 400;
	line-height: normal;
}

.p-drink-menu__img {
	display: none;
}

.p-drink-menu__list {
	display: flex;
}

.p-drink-menu__item {
	width: 100%;
}

.p-drink-menu__item:nth-child(n+2) {
	margin-left: 50px;
}

.p-drink-menu__head {
	border-bottom: 1px solid #222222;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	padding-bottom: 13px;
}

.p-drink-menu__sublist {
	margin-top: 12px;
}

.p-drink-menu__row {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 8px;
}

.p-drink-menu__name {
	font-weight: 700;
	line-height: normal;
	margin-right: 25px;
}

.p-drink-menu__price {
	font-family: "Damion", cursive;
	font-size: 20px;
	font-weight: 400;
	line-height: normal;
}

.p-gallery__head {
	margin-bottom: 40px;
	position: relative;
}

.p-gallery__head::before {
	background: url(../img/img_balloon-gallery.png) left top no-repeat;
	background-size: 100% auto;
	content: "";
	height: 138px;
	left: calc(50% - 342px);
	position: absolute;
	text-align: center;
	top: -100px;
	width: 265px;
}

.p-gallery__list {
	display: flex;
	gap: 24px;
	justify-content: center;
	margin-top: 40px;
}

.p-gallery__item img {
	width: 100%;
}

.p-gallery__button {
	margin: 61px auto 0;
	max-width: 100%;
	text-align: center;
	transform: translate(-3px);
	width: 280px;
}

.p-news-card-type1 {
	position: relative;
}

.p-news-card-type1__tag {
	left: -8px;
	position: absolute;
	top: 13px;
	z-index: 1;
}

.p-news-card-type1__tag-text {
	background: #222;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: normal;
	padding: 3px 8px 4px 15px;
}

.p-news-card-type1__tag-text::before {
	border-color: transparent #aaaaaa transparent transparent;
	border-style: solid;
	border-width: 0 8px 4px 0;
	content: "";
	height: 0;
	left: 0;
	position: absolute;
	top: 100%;
	width: 0;
}

.p-news-card-type1__tag-text::after {
	border-color: #222 transparent #222 #222;
	border-style: solid;
	border-width: 12px 6px 12px 0px;
	content: "";
	height: 0;
	position: absolute;
	right: -8px;
	top: 0;
	width: 8px;
	z-index: 3;
}

.p-news-card-type1__img {
	height: 0;
	overflow: hidden;
	padding-top: 62.5490196078%;
	position: relative;
	width: 100%;
}

.p-news-card-type1__img img {
	height: 100%;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 50%;
	object-fit: cover;
	object-position: 50% 50%;
	position: absolute;
	top: 0;
	transition: transform 0.3s ease; /* アニメーションの設定 */
	width: 100%;
}

.p-news-card-type1__img img:hover {
	transform: scale(1.05); /* 1.1倍に拡大 */
}

.p-news-card-type1__body {
	margin-top: 12px;
}

.p-news-card-type1__text {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}

.p-news-card-type1__subtext {
	font-weight: 400;
	margin-top: 10px;
}

.p-news-card-type1__date {
	display: inline-block;
	font-weight: 500;
	line-height: normal;
	margin-top: 12px;
}

.p-news-card--large .p-news-card-type1__tag {
	top: 24px;
}

.p-news-card--large .p-news-card-type1__tag-text {
	font-size: 16px;
}

.p-news-card--large .p-news-card-type1__tag-text::after {
	border-width: 15px 8px 15px 0px;
	top: -3px;
}

.p-news-card--large .p-news-card-type1__tag-text::before {
	top: 27px;
}

.p-news-card--large .p-news-card-type1__body {
	margin-top: 18px;
}

.p-news-card--large .p-news-card-type1__text {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
}

.p-news-card--small .p-news-card-type1__text {
	font-size: 14px;
	line-height: 1.7;
}

.p-news-card--small .p-news-card-type1__date {
	font-size: 12px;
	margin-top: 10px;
}

.archive .p-news-card-type1__body {
	margin-top: 11px;
}

.archive .p-news-card-type1__text {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
}

.archive .p-news-card-type1__date {
	font-weight: 500;
	margin-top: 10px;
}

.archive .p-news-card-type1__tag {
	top: 19px;
}

.archive .p-news-card-type1__tag-text {
	font-size: 14px;
	line-height: normal;
	padding: 3px 8px 3px 14px;
}

.archive .p-news-card-type1__tag-text::after {
	border-width: 13px 6px 13px 0px;
	top: -2px;
}

.archive .p-news-card-type1__tag-text::before {
	top: 23px;
}

.single .p-news-card-type1__body {
	margin-top: 10px;
}

.single .p-news-card-type1__tag-text {
	font-size: 12px;
	font-weight: 700;
	line-height: normal;
	padding: 3px 8px 4px 13px;
}

.single .p-news-card-type1__text {
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.7;
}

.single .p-news-card-type1__date {
	font-size: 12px;
	font-weight: 500;
	margin-top: 9px;
}

.single .p-news-card-type1__tag {
	left: -7px;
	top: 10px;
}

.p-top-news {
	position: relative;
}

.p-top-news::before {
	background: url(../img/bg_plate.png) no-repeat center center/contain;
	content: "";
	height: 320px;
	left: -87px;
	position: absolute;
	text-align: center;
	top: -264px;
	width: 354px;
}

.p-top-news__wrap {
	padding-top: 40px;
}

.p-top-news__block {
	display: flex;
	justify-content: space-between;
}

.p-top-news__left {
	width: 46.3636363636%;
}

.p-top-news__right {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 50.2727272727%;
}

.p-top-news__block-item {
	margin-right: 3.6363636364%;
	max-width: 255px;
	width: 46.3636363636%;
}

.p-top-news__block-item:nth-child(2n) {
	margin-right: 0;
}

.p-top-news__block-item:nth-child(n+3) {
	margin-top: 26px;
}

.p-top-news__button {
	margin: 55px auto 0;
	max-width: 100%;
	text-align: center;
	transform: translate(-8px);
	width: 280px;
}

.p-concept-block {
	align-items: center;
	display: flex;
	margin: 0 auto;
	max-width: 1100px;
}

.is-reverse {
	flex-direction: row-reverse;
}

.is-reverse .p-concept-block__contents {
	margin-left: 6.4545454545%;
	margin-right: 0;
}

.p-concept-block__contents {
	flex-shrink: 0;
	margin-right: 6.4545454545%;
	max-width: 390px;
}

.p-concept-block__title {
	font-size: 28px;
	font-weight: 700;
	line-height: 60px; /* 214.286% */
}

.p-concept-block__text {
	font-weight: 500;
	line-height: 28px; /* 200% */
	margin-top: 26px;
}

.p-menu-card__img {
	background: #fff;
	height: 0;
	padding-top: 100%;
	position: relative;
	width: 100%;
}

.p-menu-card__img img {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-menu-card__body {
	margin-top: 12px;
}

.p-menu-card__name {
	font-weight: 700;
	line-height: normal;
}

.p-menu-card__price {
	font-family: "Damion", cursive;
	font-size: 24px;
	font-weight: 400;
	line-height: normal;
	text-align: center;
}

.p-tab-list {
	display: flex;
	gap: 14px;
	justify-content: center;
}

.p-tab-list__item {
	height: 70px;
	width: 200px;
}

.p-tab-list__button {
	align-items: center;
	background-color: #888888;
	cursor: pointer;
	display: flex;
	height: 100%;
	justify-content: center;
	outline: 1px solid #ffffff; /* 線の太さ・線状・色 */
	outline-offset: -5px; /* どれだけ内側に線を表示したいかを負の値で指定 */
	padding: 10px;
	transition: all 0.3s ease 0s;
	width: 100%;
}

.p-tab-list__button:hover,
.p-tab-list__button :active {
	background-color: #382620;
}

.p-tab-list__text {
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25; /* 125% */
	text-align: center;
}

.p-menu-list {
	display: grid;
	gap: 40px;
	grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
}

.p-news__head {
	line-height: 1.5;
}

.p-news__list {
	display: grid;
	gap: 36px 40px;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 23px;
	padding-left: 8px;
}

.p-pagination {
	align-items: center;
	display: flex;
	justify-content: center;
}

.p-pagination__prev,
.p-pagination__next {
	background-color: #fff;
	border: 1px solid #382620;
	border-radius: 50%;
	height: 40px;
	position: relative;
	transition: all 0.3s ease 0s;
	width: 40px;
}

.p-pagination__prev::after,
.p-pagination__next::after {
	content: "";
	height: 12px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 6px;
}

.p-pagination__prev:hover,
.p-pagination__next:hover {
	opacity: 0.7;
}

.p-pagination__prev {
	margin-right: 6px;
}

.p-pagination__prev::after {
	background: url(../img/news/arrow-prev.png) no-repeat center center/contain;
}

.p-pagination__next {
	margin-left: 6px;
}

.p-pagination__next::after {
	background: url(../img/news/arrow-next.png) no-repeat center center/contain;
}

.p-pagination__number {
	background-color: #fff;
	border: 1px solid #382620;
	border-radius: 50%;
	display: inline-block;
	font-size: 16px;
	height: 40px;
	line-height: 38px;
	margin-left: 6px;
	margin-right: 6px;
	min-width: 40px;
	text-align: center;
	transition: all 0.3s ease 0s;
}

.p-pagination__number:hover,
.p-pagination__number.p-pagination__number--current {
	background: #382620;
	border: 1px solid #382620;
	color: #fff;
	font-weight: 700;
}

.p-side__item {
	background-color: #fff;
	padding: 20px;
}

.p-side__item:nth-child(n+2) {
	margin-top: 60px;
}

.p-widget__list {
	margin-top: 20px;
}

.p-widget__item:nth-child(n+2) {
	margin-top: 16px;
}

.category .p-widget__item:nth-child(n+2) {
	margin-top: 14px;
}

.p-widget__link {
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	padding-left: 12px;
	position: relative;
}

.p-widget__link::before {
	background: url(../img/news/Icon-metro-chevron-thin-right.svg) left top no-repeat;
	background-size: 100% auto;
	content: "";
	height: 12px;
	left: 0;
	position: absolute;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
}

.p-widget__link:hover {
	opacity: 0.7;
}

.p-widget-entry-card__link {
	display: flex;
	transition: opacity 0.3s ease 0s;
}

.p-widget-entry-card__link:hover {
	opacity: 0.6;
}

.p-widget-entry-card__image {
	flex-shrink: 0;
	height: 0;
	padding-top: 38.4615384615%;
	position: relative;
	width: 38.4615384615%;
}

.p-widget-entry-card__image img {
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-widget-entry-card__body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-left: 15px;
}

.p-widget-entry-card__title {
	font-size: 14px;
	font-weight: 700;
}

.p-widget-entry-card__date {
	display: block;
	font-size: 12px;
	font-weight: 500;
	line-height: normal;
	line-height: normal;
	margin-top: 10px;
}

.p-entry-news__title {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 25px;
}

.p-entry-news__info {
	display: flex;
	margin-top: 40px;
}

.p-entry-news__date,
.p-entry-news__category {
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}

.p-entry-news__date {
	display: block;
	margin-right: 20px;
	position: relative;
}

.p-entry-news__date::after {
	background-color: #382620;
	content: "";
	flex-shrink: 0;
	height: 18px;
	position: absolute;
	right: -27px;
	top: 0;
	width: 1px;
}

.p-entry-news__category {
	margin-left: 28px;
}

.p-entry-news-content {
	margin-top: 37px;
}

.p-entry-news-content:nth-of-type(2) {
	margin-top: 96px;
}

.p-entry-news-content:nth-of-type(3),
.p-entry-news-content:nth-of-type(4) {
	margin-top: 54px;
}

.p-entry-news-content-text {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
}

.p-entry-news-content__img {
	margin-bottom: 35px;
	margin-left: 0;
	margin-right: 0;
	margin-top: 35px;
}

.p-entry-news-content__title {
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	margin-bottom: 15px;
}

.p-entry-news-content__lists {
	margin-top: 28px;
	padding-left: 20px;
}

.p-entry-news-content__list {
	font-size: 16px;
	line-height: normal;
}

.p-entry-news-content__list:nth-child(n+2) {
	margin-top: 8px;
}

.p-entry-news-content__citation {
	background-color: #fff;
	margin-top: 33px;
	padding: 35px 40px 40px;
}

.p-entry-news-content__citation-text {
	font-size: 16px;
	line-height: 32px;
}

.p-entry-news-content__citation-sub {
	line-height: normal;
	margin-top: 16px;
	text-align: right;
}

.p-pagination-secondary {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.p-pagination-secondary__prev {
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	padding: 5px 15px;
	position: relative;
}

.p-pagination-secondary__prev:hover {
	opacity: 0.7;
}

.p-pagination-secondary__prev::before {
	background: url(../img/entry-news/icon-left.png) no-repeat center center/contain;
	content: "";
	height: 12px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	width: 6px;
}

.p-pagination-secondary__btn {
	border: 1px solid #382620;
}

.p-pagination-secondary__btn span {
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	padding: 12px 36px;
}

.p-pagination-secondary__btn span:hover {
	opacity: 0.7;
}

.p-pagination-secondary__next {
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	padding: 5px 15px;
	position: relative;
}

.p-pagination-secondary__next:hover {
	opacity: 0.7;
}

.p-pagination-secondary__next::after {
	background: url(../img/entry-news/icon-right.png) no-repeat center center/contain;
	content: "";
	height: 12px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	width: 6px;
}

.p-related__head {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.429;
	text-align: center;
}

.p-related__body {
	margin-top: 60px;
}

.p-related__items {
	display: grid;
	gap: 38px 40px;
	grid-template-columns: repeat(3, 1fr);
	padding-left: 8px;
}

.p-shop-content:nth-child(n+2) {
	margin-top: 121px;
}

.p-map {
	margin: auto;
	max-width: 100%;
	width: 689px;
}

.p-map__iframe-wrap {
	border: 10px solid #fff;
	padding-top: 53.2656023222%;
	position: relative;
	width: 100%;
}

.p-map__iframe-wrap iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-map-info {
	display: flex;
	gap: 40px;
	justify-content: space-between;
	margin-top: 24px;
}

.p-map-info__col-wrap {
	flex-basis: 324px;
}

.p-map-info__col {
	border-bottom: 1px solid #000;
	display: flex;
}

.p-map-info__col:not(:first-child) {
	margin-top: 22px;
}

.p-map-info__col dt {
	font-size: 14px;
	font-weight: 700;
	width: 56px;
}

.p-map-info__col dd {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 12px;
	margin-left: 24px;
}

.p-gift__row {
	display: flex;
}

.p-gift__row:nth-child(2n) {
	display: block;
	margin-top: 38px;
}

.p-gift__large {
	flex: 0 0 48%;
	margin-right: 3.6363636364%;
	width: 48%;
}

.p-gift__large img {
	height: auto;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-gift-card {
	max-width: 528px;
}

.p-gift-card__img {
	width: 100%;
}

.p-gift-card__body {
	margin-top: 12px;
}

.p-gift-card__name {
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}

.p-gift-card__price {
	font-family: "Damion", cursive;
	font-size: 24px;
	font-weight: 400;
	line-height: normal;
	text-align: center;
}

.p-gift-card__button {
	margin: 11px auto 0;
	max-width: 174px;
	text-align: center;
}

.p-gift-card__button-link {
	background-color: #222222;
	border: 1px solid #222222;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
	padding: 8px 10px;
	transition: all 0.3s ease 0s;
	width: 100%;
}

.p-gift-card__button-link:hover {
	background-color: #ffffff;
	color: #222222;
}

.large .p-gift-card__name {
	font-size: 24px;
}

.large .p-gift-card__price {
	font-size: 32px;
}

.small .p-gift-card__name {
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
}

.small .p-gift-card__price {
	font-size: 24px;
	text-align: center;
}

.p-gift-sub-list {
	display: grid;
	gap: clamp(1.563rem, 0.147rem + 2.94vw, 2.5rem);
	grid-template-columns: repeat(4, minmax(0, 1fr)); /* 最大4列 */
}

.small.p-gift-sub-list {
	display: grid;
	gap: clamp(1.563rem, 0.147rem + 2.94vw, 2.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr)); /* 最大2列 */
	width: 48.1818181818%;
}

.p-gift-info {
	background-color: #fff;
	border: 4px solid #382620;
	display: flex;
	padding: 77px 56px;
	position: relative;
}

.p-gift-info::before {
	background-color: transparent;
	border: 1px solid #382620;
	content: "";
	height: calc(100% - 10px);
	height: calc(100% - 12px);
	pointer-events: none;
	position: absolute;
	right: 50%;
	top: 50%;
	transform: translate(50%, -50%);
	width: calc(100% - 12px);
	z-index: 2;
}

.p-gift-info__body {
	margin-right: 60px;
	width: calc(41% + 60px);
}

.p-gift-info__head {
	background: url(../img/gift/repeat_dot.png) left bottom repeat-x;
	background-size: 100% auto;
	font-size: 24px;
	font-weight: 700;
	line-height: 40px;
	padding-bottom: 23px;
}

.p-gift-info__text {
	font-size: 16px;
	line-height: 32px;
	margin-top: 35px;
}

.p-gift-info__img {
	width: 46.9387755102%;
}

.p-contact__title {
	font-size: 28px;
	font-weight: 700;
	line-height: 40px;
	text-align: center;
}

.p-contact__lead {
	font-size: 16px;
	font-weight: 500;
	line-height: normal;
	margin-top: 28px;
}

.thanks .p-contact__lead {
	margin-top: 27px;
	text-align: left;
}

.p-form__fields {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.p-form__footer-text {
	line-height: normal;
	margin-top: 42px;
}

.p-form__button {
	margin-top: 40px;
	text-align: center;
	transform: translate(-3px, 0px);
}

.p-form-field {
	display: flex;
	gap: 28px;
}

.p-form-field__head {
	align-items: flex-start;
	display: flex;
	gap: 8px;
	padding-top: 14px;
	width: 170px;
}

.radio .p-form-field__head {
	padding-top: 0px;
}

.p-form-field__label {
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
}

.p-form-field__tag {
	background: #f07317;
	border-radius: 2px;
	color: #fff;
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	line-height: normal;
	padding: 1px 6px 2px 6px;
}

.p-form-field__item {
	flex-grow: 1;
	margin-top: 0;
}

.form-text {
	background: #fff;
	border: 1px solid #382620;
	border-radius: 6px;
	line-height: 100%;
	padding: 12px 16px 13px;
	transition: border-color 0.3s;
	width: 100%;
}

.form-text:focus {
	outline: #0066ff auto 1px;
}

.form-textarea {
	background: #fff;
	border: 1px solid #382620;
	border-radius: 6px;
	height: 240px;
	padding: 12px 16px;
	transition: border-color 0.3s;
	width: 100%;
}

.form-textarea:focus {
	outline: #0066ff auto 1px;
}

.p-form-field__radios {
	display: flex;
	flex-direction: column;
	gap: 17px;
}

.p-form-field__item input::-moz-placeholder {
	letter-spacing: 0.14em;
}

.p-form-field__item input::placeholder {
	letter-spacing: 0.14em;
}

textarea.form-textarea::-moz-placeholder {
	letter-spacing: 0.14em;
}

textarea.form-textarea::placeholder {
	letter-spacing: 0.14em;
}

.p-form-radio {
	line-height: 1.4375;
}

.p-form-radio__input {
	height: 1px;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
}

.p-form-radio__input:checked + .p-form-radio__text::after {
	opacity: 1;
}

.p-form-radio__text {
	font-size: 16px;
	line-height: normal;
	padding-left: 34px;
	position: relative;
}

.p-form-radio__text::before,
.p-form-radio__text::after {
	border-radius: 50%;
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.p-form-radio__text::before {
	border: 1px solid #382620;
	height: 24px;
	left: 0;
	transition: border-color 0.3s;
	width: 24px;
}

.p-form-radio__text::after {
	background: #f07317;
	height: 12px;
	left: 6px;
	opacity: 0;
	width: 12px;
}

.u-separate {
	margin-bottom: 24px;
	margin-top: 24px;
}

.u-mobile {
	display: none;
}

@media screen and (min-width: 1000px) {

.u-hidden-pc {
	display: none;
}

}

@media screen and (min-width: 1280px ) {

.p-lunch::before {
	top: -98px;
}

.p-lunch__card {
	margin-top: 58px;
	padding: 40px;
}

.p-lunch__card-balloon {
	right: -23px;
	top: -70px;
}

.p-lunch__item {
	margin-right: 1.8181818182%;
	max-width: 400px;
	width: 23.6363636364%;
}

.p-lunch__item:nth-child(2n) {
	margin-right: 1.8181818182%;
	top: 40px;
}

.p-lunch__item:nth-child(4n) {
	margin-right: 0;
}

.p-lunch__item:nth-child(n+3) {
	margin-top: 0;
}

.p-lunch__set {
	display: flex;
	gap: 40px;
	padding: 20px 70px;
}

.p-lunch__set-img {
	max-width: 700px;
}

.p-lunch__set-textbox {
	margin-top: 4px;
}

.p-lunch__set-texthead {
	font-size: 20px;
	text-align: right;
}

.p-lunch__set-price {
	font-size: 60px;
}

.p-lunch__set-time {
	font-size: 14px;
	text-align: right;
}

.p-drink-menu {
	display: flex;
}

.p-drink-menu__img {
	background: #fff;
	display: block;
	height: 0;
	margin-right: 62px;
	padding-top: 343px;
	position: relative;
	width: 343px;
}

.p-drink-menu__img img {
	border: 8px solid #fff;
	font-family: "object-fit:cover;object-position:50% 50%";
	height: 100%;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 50%;
	height: 100%;
	object-position: 50% 50%;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-drink-menu__item {
	flex-grow: 1;
	width: 195px;
}

}

@media screen and (max-width: 999px) {

.l-content__menu {
	display: none;
}

.l-content__main {
	width: 100%;
}

.p-header-top {
	opacity: 1;
}

.p-menu {
	display: none;
}

.p-main {
	width: 100%;
}

}

@media screen and (max-width: 769px) {

.l-main {
	display: block;
}

.l-concept {
	padding-bottom: 192px;
	padding-top: 119px;
}

.l-concept::before {
	bottom: 121px;
	height: 100px;
	width: calc(50vw + 44%);
}

.l-lunch {
	padding-bottom: 62px;
	padding-top: 55px;
}

.l-grandmenu::before {
	bottom: 120px;
	height: 84.9522047487%;
	width: 73.0666666667%;
}

.l-grandmenu {
	padding: 120px 0 190px;
}

.l-gallery {
	padding-bottom: 106px;
	padding-top: 60px;
}

.l-top-news {
	padding-bottom: 167px;
	padding-top: 116px;
}

.l-content__inner {
	display: block;
}

.l-content__menu {
	display: none;
}

.l-content__main {
	width: 100%;
}

.l-to-top-button {
	bottom: 6px;
	right: 6px;
}

.l-pickup-news {
	bottom: 32px;
	max-width: 335px;
	right: 50%;
	transform: translateX(50%);
	width: 89.3333333333%;
}

.l-inner {
	padding-left: 20px;
	padding-right: 20px;
}

.l-breadcrumb {
	margin-top: 1px;
	padding-left: 10px;
	padding-right: 10px;
}

.l-concept-wrapper {
	padding-bottom: 99px;
	padding-top: 45px;
}

.l-concept-block:nth-child(n+1) {
	padding-bottom: 0;
	padding-left: 20px;
	padding-right: 20px;
}

.l-concept-block:nth-of-type(1) {
	padding-bottom: 48px;
}

.l-concept-block:nth-of-type(1)::before {
	bottom: 0;
	height: 100px;
	width: calc(100% - 40px);
}

.l-concept-block:nth-of-type(2) {
	margin-top: 75px;
	padding-bottom: 20px;
}

.l-concept-block:nth-of-type(2)::before {
	bottom: 0;
	height: 227px;
	width: calc(100% - 91px);
}

.l-concept-block:nth-of-type(3) {
	margin-bottom: 60px;
	margin-top: 75px;
	padding-bottom: 36px;
}

.l-concept-block:nth-of-type(3)::before {
	bottom: 0;
	height: 239px;
	right: 20px;
	top: auto;
	width: 49.0666666667%;
}

.l-menus {
	margin-top: 57px;
	padding-left: 20px;
	padding-right: 20px;
}

.l-menu-wrapper {
	margin-bottom: 157px;
	margin-top: 60px;
	padding-left: 20px;
	padding-right: 20px;
}

.l-news-wrapper {
	padding: 44px 20px 159px;
}

.l-news-wrapper__inner {
	display: block;
}

.l-news-wrapper__main {
	margin-right: auto;
	width: 100%;
}

.l-news-wrapper__side {
	margin-left: 0;
	margin-top: 60px;
	width: 100%;
}

.l-entry-news {
	margin-top: 45px;
	padding-left: 20px;
	padding-right: 20px;
}

.l-pagination-secondary {
	margin-top: 31px;
}

.l-related {
	margin-top: 100px;
}

.l-shop {
	margin-top: 46px;
	padding-left: 20px;
	padding-right: 20px;
}

.l-gift {
	padding: 43px 20px 0;
}

.l-gift-info {
	padding: 60px 20px 160px;
}

.l-contact {
	margin-bottom: 163px;
	margin-top: 44px;
	padding: 0px 20px;
}

.thanks.l-contact {
	margin-top: 45px;
}

.l-form {
	margin-top: 60px;
}

.c-to-top-button {
	bottom: 92px;
	right: 16px;
}

.c-archive__title {
	color: #382620;
	font-size: 20px;
}

.c-primary-button {
	min-width: 290px;
}

.c-secondary-button {
	font-size: 12px;
	min-width: 140px;
	padding: 6px 16px;
}

.c-heading-title__main {
	font-size: 40px;
	letter-spacing: 4px;
	padding-left: 6px;
}

.c-heading-title__sub {
	font-size: 12px;
	margin-top: 4px;
}

.c-grandmenu-title {
	font-size: 20px;
	padding: 5px 10px;
}

.c-secondary-title {
	font-size: 18px;
	line-height: 28px;
	padding: 0 11px;
}

.c-third-title {
	font-size: 16px;
	line-height: 24px;
}

.c-shop-title {
	font-size: 18px;
	letter-spacing: 0.1em;
	padding: 0 9px;
}

.p-breadcrumb__item:not(:last-child)::after {
	margin-left: 4px;
	margin-right: 4px;
}

.p-breadcrumb__link,
.p-breadcrumb__text {
	font-size: 12px;
	line-height: normal;
}

.p-page-header__logo {
	font-size: 32px;
	letter-spacing: 6.4px;
	padding-left: 8px;
	padding-top: 5px;
}

.p-page-header__sub {
	font-size: 12px;
	letter-spacing: 0.96px;
	margin-top: -2px;
}

.p-page-header__picture::before {
	outline-offset: -8px;
}

.p-page-header__picture::after {
	outline-offset: -12px;
}

.p-footer::after {
	background: url(../img/sp/bg-deco05.png) no-repeat center center/contain;
	height: 114px;
	left: -36px;
	top: 2px;
	width: 128px;
}

.p-footer-sns__buttons {
	padding: 41px 40px 38px;
}

.p-footer-sns__button {
	width: 31px;
}

.p-access::before {
	height: 180px;
	right: -40px;
	transform: translateY(-100%);
	width: 193px;
}

.p-access__head::before {
	height: 172px;
	left: calc(50% - 219px);
	transform: translateY(-71%);
	width: 201px;
}

.p-access__iframe-wrap {
	border: 5px solid #fff;
}

.p-access__info {
	display: block;
	margin-top: 40px;
}

.p-access__info-col-wrap:not(:first-child) {
	margin-top: 18px;
}

.p-access__info-col:not(:first-child) {
	margin-top: 18px;
}

.p-header-top__container {
	height: 100vh;
	padding: 10px 14px;
	right: 0;
}

.p-header-top__nav {
	margin: 55px auto 47px;
	padding: 0 0 0 26px;
}

.p-header-top__nav-item:not(:first-child) {
	margin-top: 25px;
}

.p-header-top__button-en {
	line-height: 1.5;
}

.p-header-top__button-ja::before {
	left: -22px;
	top: 0;
}

.p-menu {
	display: none;
}

.p-main {
	padding-bottom: 0;
	width: 100%;
}

.p-main::after {
	display: none;
}

.p-main__copy {
	bottom: auto;
	left: 20px;
	top: 125px;
}

.p-main__copy-text {
	font-size: 16px;
	line-height: 2;
}

.p-pickup-news {
	padding: 12px;
}

.p-pickup-news::before {
	right: 2px;
	top: -41px;
	width: 126px;
}

.p-pickup-news__tag {
	left: -10px;
}

.p-pickup-news__tag-text {
	padding: 3px 5px 2px 10px;
}

.p-pickup-news__tag-text::before {
	left: 2px;
	top: 22px;
}

.p-pickup-news__tag-text::after {
	border-width: 11px 6px 11px 0px;
}

.p-column-card__thumbnail {
	height: 100px;
	width: 100px;
}

.p-column-card__date {
	margin-top: 10px;
}

.p-column-card__head {
	font-size: 12px;
	line-height: 1.5;
}

.p-main-slide__slide-img img {
	height: 667px;
}

.p-main-slide__pagination {
	gap: 8px;
	padding-bottom: 4px;
}

.p-header-button-fixed_logo {
	display: block;
}

.p-concept::before {
	height: 130px;
	right: -17px;
	top: -10px;
	transform: translateY(-100%);
	width: 145px;
}

.p-concept__inner {
	display: block;
}

.p-concept__content {
	margin: 0 auto;
	padding: 0 20px;
}

.p-concept__text {
	font-size: 20px;
	line-height: 40px;
	margin-top: 34px;
}

.p-concept__subtext {
	font-size: 14px;
	margin-top: 31px;
}

.p-concept__button {
	margin: 56px auto 0;
	max-width: 290px;
	text-align: center;
	transform: translate(-3px);
	width: 89.3333333333%;
}

.p-concept__img {
	margin-top: 86px;
	width: 84%;
}

.p-lunch::before {
	height: 135px;
	right: -33px;
	top: -170px;
	width: 119px;
}

.p-lunch__inner {
	padding-left: 0;
	padding-right: 0;
}

.p-lunch__card {
	margin-top: 63px;
}

.p-lunch__card-balloon {
	right: -18px;
	top: -236px;
	width: 205px;
}

.p-lunch__card-title {
	width: 290px;
}

.p-lunch__body {
	margin-top: 0;
}

.p-lunch__list {
	padding-bottom: 0;
}

.p-lunch__item:nth-child(n+3) {
	margin-top: 23px;
}

.p-lunch__item-img {
	margin-bottom: 6px;
}

.p-lunch__item-num {
	font-size: 19px;
	height: 25px;
	letter-spacing: 2.28px;
	margin-right: 5px;
	width: 25px;
}

.p-lunch__item-name {
	font-size: 14px;
}

.p-lunch__set {
	margin-top: 20px;
	padding: 20px 0;
}

.p-lunch__set-price {
	background-size: 150% auto;
	line-height: 1.375;
	margin-top: -1px;
	padding: 0 4px 6px 0;
}

.p-lunch__set-time {
	letter-spacing: 0.03em;
	margin-top: 11px;
}

.p-grandmenu::before {
	height: 196px;
	left: -45px;
	top: -200px;
	width: 193px;
}

.p-grandmenu::after {
	bottom: -164px;
	height: 142px;
	right: -39px;
	width: 168px;
}

.p-grandmenu__inner {
	padding-left: 20px;
	padding-right: 20px;
}

.p-grandmenu__wrap {
	margin-top: 39px;
}

.p-grandmenu__block {
	margin-bottom: 41px;
}

.p-grandmenu__body {
	margin-top: 20px;
}

.p-grandmenu__item {
	margin-right: 5.9523809524%;
	width: 47.0238095238%;
}

.p-grandmenu__item:nth-child(2n) {
	margin-right: 0;
}

.p-grandmenu__item:nth-child(n+3) {
	margin-top: 20px;
}

.p-grandmenu__item:nth-child(3n) {
	margin-right: auto;
}

.p-grandmenu__button {
	max-width: 290px;
	transform: translate(-3px, -1px);
	width: 89.3333333333%;
}

.p-grandmenu-card__img img {
	border-width: 5px;
}

.p-grandmenu-card__body {
	margin-top: 8px;
}

.p-grandmenu-card__name {
	font-size: 14px;
}

.p-grandmenu-card__price {
	font-size: 24px;
}

.p-drink-menu__img img {
	border-width: 5px;
}

.p-drink-menu__body {
	padding-left: 20px;
	padding-right: 20px;
}

.p-drink-menu__list {
	display: block;
}

.p-drink-menu__item:nth-child(n+2) {
	margin-left: 0;
	margin-top: 40px;
}

.p-drink-menu__head {
	padding-bottom: 10px;
}

.p-drink-menu__price {
	transform: translateX(-3px);
}

.p-gallery__head::before {
	height: 104px;
	left: -41px;
	top: -117px;
	width: 200px;
}

.p-gallery__list {
	flex-wrap: wrap;
	gap: 0;
}

.p-gallery__item {
	margin-right: 5.671641791%;
	width: 47.1641791045%;
}

.p-gallery__item:nth-child(2n) {
	margin-right: 0;
}

.p-gallery__item:nth-child(n+3) {
	margin-top: 5.671641791%;
}

.p-gallery__button {
	margin-top: 40px;
	max-width: 290px;
	transform: translate(-3px, 0px);
	width: 89.3333333333%;
}

.p-news-card-type1__tag {
	top: 9px;
}

.p-news-card-type1__body {
	margin-top: 6px;
}

.p-news-card-type1__subtext {
	font-size: 12px;
	line-height: 18px;
}

.p-news-card-type1__date {
	font-size: 12px;
	margin-top: 8px;
}

.p-news-card--large .p-news-card-type1__tag {
	top: 20px;
}

.p-news-card--large .p-news-card-type1__tag-text {
	font-size: 12px;
}

.p-news-card--large .p-news-card-type1__tag-text::after {
	border-width: 12px 8px 12px 0px;
	top: 0;
}

.p-news-card--large .p-news-card-type1__tag-text::before {
	top: 24px;
}

.p-news-card--large .p-news-card-type1__body {
	margin-top: 12px;
}

.p-news-card--large .p-news-card-type1__text {
	font-size: 14px;
	line-height: 1.7;
}

.p-news-card--small .p-news-card-type1__text {
	font-size: 12px;
	line-height: 1.5;
}

.p-news-card--small .p-news-card-type1__date {
	margin-top: 8px;
}

.p-news-card--small .p-news-card-type1__tag-text {
	padding: 3px 4px 4px 10px;
}

.p-news-card--small .p-news-card-type1__tag-text::after {
	border-width: 12px 8px 12px 0px;
}

.archive .p-news-card-type1__body {
	margin-top: 8px;
}

.archive .p-news-card-type1__text {
	font-size: 12px;
	line-height: 1.5;
}

.archive .p-news-card-type1__date {
	line-height: 1.5;
	margin-top: 6px;
}

.archive .p-news-card-type1__tag {
	top: 10px;
}

.archive .p-news-card-type1__tag-text {
	font-size: 12px;
	padding: 3px 4px 3px 11px;
}

.archive .p-news-card-type1__tag-text::after {
	border-width: 12px 6px 12px 0px;
	top: 0px;
}

.single .p-news-card-type1__body {
	margin-top: 8px;
}

.single .p-news-card-type1__tag-text {
	font-size: 12px;
	line-height: 18px;
	padding: 3px 4px 4px 10px;
}

.single .p-news-card-type1__text {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}

.single .p-news-card-type1__date {
	margin-top: 8px;
}

.single .p-news-card-type1__tag {
	top: 9px;
}

.p-top-news::before {
	height: 185px;
	left: -52px;
	top: -125px;
	width: 204px;
}

.p-top-news__block {
	display: block;
}

.p-top-news__left {
	width: 100%;
}

.p-top-news__right {
	margin-top: 20px;
	width: 100%;
}

.p-top-news__block-item {
	margin-right: 5.3731343284%;
	max-width: none;
	width: 47.1641791045%;
}

.p-top-news__block-item:nth-child(n+3) {
	margin-top: 15px;
}

.p-top-news__button {
	margin-top: 35px;
}

.p-concept-block {
	display: block;
}

.is-reverse .p-concept-block__contents {
	margin-left: 0;
}

.p-concept-block__contents {
	margin-right: 0;
	max-width: none;
}

.p-concept-block__title {
	font-size: 20px;
	line-height: 40px; /* 200% */
}

.p-concept-block__text {
	margin-top: 32px;
}

.p-concept-block__image {
	margin-top: 36px;
}

.p-concept-block__image-item-third img {
	width: 87.7611940299%;
}

.p-menu-card__body {
	margin-top: 8px;
}

.p-tab-list {
	flex-wrap: wrap;
	gap: 11px;
	justify-content: space-between;
}

.p-tab-list__item {
	height: 64px;
	width: calc(50% - 7px);
}

.p-tab-list__text {
	font-size: 15px;
}

.p-menu-list {
	gap: 25px 20px;
	grid-template-columns: repeat(2, 1fr);
}

.p-news__list {
	gap: 21px 19px;
	margin-top: 40px;
	padding-left: 0;
}

.p-side__item:nth-child(n+2) {
	margin-top: 38px;
}

.p-widget-entry-card__image {
	padding-top: 33.8983050847%;
	width: 33.8983050847%;
}

.p-widget-entry-card__title {
	line-height: 1.75;
}

.p-widget-entry-card__date {
	font-size: 12px;
	margin-top: 8px;
}

.p-entry-news__title {
	font-size: 20px;
}

.p-entry-news__info {
	margin-top: 22px;
}

.p-entry-news-content:nth-of-type(2) {
	margin-top: 75px;
}

.p-entry-news-content:nth-of-type(3),
.p-entry-news-content:nth-of-type(4) {
	margin-top: 55px;
}

.p-entry-news-content-text {
	font-size: 14px;
	line-height: 28px;
}

.p-entry-news-content-text:nth-of-type(4) {
	margin-top: 14px;
}

.p-entry-news-content__title {
	font-size: 14px;
	line-height: 24px;
}

.p-entry-news-content__lists {
	padding-left: 20px;
}

.p-entry-news-content__list {
	font-size: 14px;
}

.p-entry-news-content__citation {
	margin-top: 30px;
	padding: 20px 24px 25px;
}

.p-entry-news-content__citation-text {
	font-size: 14px;
	line-height: 28px;
}

.p-entry-news-content__citation-sub {
	font-size: 14px;
	padding-right: 20px;
}

.p-pagination-secondary__prev {
	font-size: 14px;
}

.p-pagination-secondary__btn span {
	font-size: 14px;
	line-height: 24px;
	padding: 8px 28px;
}

.p-pagination-secondary__next {
	font-size: 14px;
	padding: 5px 18px;
}

.p-pagination-secondary__next::after {
	right: 3px;
}

.p-related__head {
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
}

.p-related__body {
	margin-top: 40px;
}

.p-related__items {
	gap: 16px 19px;
	grid-template-columns: repeat(2, 1fr);
	padding-left: 0;
}

.p-shop-content:nth-child(n+2) {
	margin-top: 62px;
}

.p-map {
	margin-top: 20px;
}

.p-map__iframe-wrap {
	border: 5px solid #fff;
}

.p-map-info {
	display: block;
	margin-top: 18px;
}

.p-map-info__col-wrap:not(:first-child) {
	margin-top: 22px;
}

.p-map-info__col:not(:first-child) {
	margin-top: 18px;
}

.p-gift__row {
	display: block;
}

.p-gift__large {
	margin-right: 0;
	width: 100%;
}

.p-gift-card {
	min-width: 100%;
}

.p-gift-card__body {
	margin-top: 8px;
}

.p-gift-card__name {
	line-height: 1.429;
}

.p-gift-card__price {
	line-height: 1.375;
}

.p-gift-card__button {
	max-width: 140px;
}

.p-gift-card__button-link {
	font-size: 12px;
	line-height: 1.4;
	padding: 6px 10px;
}

.large .p-gift-card__body {
	margin-top: 13px;
}

.large .p-gift-card__name {
	font-size: 20px;
}

.large .p-gift-card__price {
	font-size: 28px;
}

.p-gift-sub-list {
	gap: 40px 20px;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 39px;
}

.small.p-gift-sub-list {
	gap: 40px 20px;
	grid-template-columns: repeat(2, 1fr);
	width: auto;
}

.p-gift-info {
	display: block;
	padding: 34px 36px;
}

.p-gift-info::before {
	width: calc(100% - 10px);
}

.p-gift-info__body {
	margin-right: 0px;
	width: auto;
}

.p-gift-info__head {
	background: url(../img/gift/repeat_dot.png) 4px bottom no-repeat;
	background-size: 180% auto;
	font-size: 16px;
	line-height: 1.7;
	padding-bottom: 25px;
	text-align: center;
}

.p-gift-info__text {
	font-size: 12px;
	line-height: 24px;
	margin-top: 22px;
}

.p-gift-info__img {
	margin-top: 34px;
	width: 100%;
}

.p-contact__title {
	font-size: 20px;
}

.p-contact__lead {
	font-size: 14px;
	line-height: 24px;
	margin-top: 20px;
	text-align: left;
}

.thanks .p-contact__lead {
	margin-top: 20px;
}

.p-form__fields {
	gap: 41px;
}

.p-form__footer-text {
	line-height: 24px;
	margin-top: 18px;
}

.p-form__button {
	transform: translate(-3px, -3px);
}

.p-form-field {
	display: block;
}

.p-form-field__head {
	padding-top: 0px;
}

.radio .p-form-field__item {
	margin-top: 22px;
}

.radio .p-form-field__tag {
	margin-top: 4px;
}

.p-form-field__item {
	margin-top: 8px;
}

.form-textarea {
	height: 200px;
}

.u-hidden-sp {
	display: none;
}

.u-mobile {
	display: block;
}

}

@media screen and (max-width: 769px) and (max-width: 769px) {

.p-map-info__col-wrap:not(:first-child) {
	margin-top: 18px;
}

}

@keyframes zoomIn {

0% {
	transform: scale(1); /* 初期状態のサイズ */
}

100% {
	transform: scale(1.1); /* 拡大サイズ */
}

}

