/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

html,body {
  width: 100%;
  height: 100%;
  font-size: 1.00em;
}
html {
  scroll-behavior: smooth;
}
body {
  box-sizing: border-box;
  font-family: "Noto Sans JP", serif;
  font-weight:500;
}
p,li,dd,td {
  font-weight:500;
}
h1,h2,h3,h4,h5,dt,th {
  font-weight:bold;
}
a { color: #000; }
img {
    /*-webkit-backface-visibility: hidden;*/
    image-rendering: -webkit-optimize-contrast;
}

.l-row::after {
  content: "";
  display: block;
  clear: both;
}

.u-text-center { text-align: center; }
.u-font-mincho { font-family: "Noto Serif JP", serif; }

.is-pc { display: block !important; }
.is-sp { display: none !important; }

.u-ptb-30 { padding: 30px 0 }
.u-ptb-20 { padding: 20px 0 }
.u-ptb-10 { padding: 10px 0 }

.u-pt-30 { padding-top: 30px; }
.u-pt-20 { padding-top: 20px; }
.u-pt-10 { padding-top: 10px; }

.u-pb-30 { padding-bottom: 30px; }
.u-pb-20 { padding-bottom: 20px; }
.u-pb-10 { padding-bottom: 10px; }

/* 16px換算 */
.fs12 { font-size: 0.75rem; }
.fs14 { font-size: 0.875rem; }
.fs15 { font-size: 0.9375rem; }
.fs18 { font-size: 1.125rem; }
.fs20 { font-size: 1.25rem; }
.fs24 { font-size: 1.5rem; }
.fs28 { font-size: 1.75rem; }
.fs32 { font-size: 2rem; }
.fs36 { font-size: 2.25rem; }
.fs42 { font-size: 2.625rem; }
.fs48 { font-size: 3rem; }

.u-fs-1 { font-size: 0.75rem; }  /* 12px相当 */
.u-fs-2 { font-size: 0.875rem; }  /* 14px相当 */
.u-fs-3 { font-size: 0.9375rem; }  /* 15px相当 */
.u-fs-4 { font-size: 1.125rem; }  /* 18px相当 */
.u-fs-5 { font-size: 1.25rem; }  /* 20px相当 */
.u-fs-6 { font-size: 1.5rem; }  /* 24px相当 */
.u-fs-7 { font-size: 1.75rem; }  /* 28px相当 */
.u-fs-8 { font-size: 2rem; }  /* 32px相当 */
.u-fs-9 { font-size: 2.25rem; }  /* 36px相当 */
.u-fs-10 { font-size: 2.625rem; }  /* 42px相当 */
.u-fs-11 { font-size: 3rem; }  /* 48px相当 */

a[href*="tel:"] {
	pointer-events: none;
}

@media only screen and (max-width: 767px) {
	a[href*="tel:"] {
		pointer-events: initial;
	}
}

.u-scroll-x {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}
/* テーブルを包む形で使う */
.u-scroll-x table {
    min-width: 600px;
    white-space: nowrap;
}

.section-anchor {
    scroll-margin-top: 100px;
}

.u-relative { position: relative; }
.u-anchor { position: absolute;	top: -150px; }
.u-anchor-target { scroll-margin-top: 150px; }

.u-flex { display: flex !important; }
.u-inline-flex { display: inline-flex !important; }

.u-flex-row-reverse { flex-direction: row-reverse !important; }
.u-flex-column-reverse { flex-direction: column-reverse !important; }
.u-flex-wrap { flex-wrap: wrap !important; }
.u-flex-wrap-reverse { flex-wrap: wrap-reverse !important; }

/* 水平方向（justify-content） */
.u-justify-start   { justify-content: flex-start !important; }
.u-justify-end     { justify-content: flex-end !important; }
.u-justify-center  { justify-content: center !important; }
.u-justify-between { justify-content: space-between !important; }
.u-justify-around  { justify-content: space-around !important; }

/* 垂直方向：親要素用（align-items） */
.u-items-start   { align-items: flex-start !important; }
.u-items-end     { align-items: flex-end !important; }
.u-items-center  { align-items: center !important; }
.u-items-baseline { align-items: baseline !important; }
.u-items-stretch  { align-items: stretch !important; }

/* 垂直方向：子要素用（align-self） */
.u-self-start    { align-self: flex-start !important; }
.u-self-end      { align-self: flex-end !important; }
.u-self-center   { align-self: center !important; }
.u-self-stretch  { align-self: stretch !important; }

.l-outer {
	width: 100%;
	min-width: 900px;
	padding-left: 0px;
	padding-right: 0px;
	margin: 0 auto;
	overflow: hidden;
}
.l-inner {
	width: 740px;
	padding-left: 0px;
	padding-right: 0px;
	margin: 0 auto;
}

.l-header h1 {
	margin: 0;
	padding: 0;
}
.l-header h1 img {
	width: 100%;
	display: block;
}


@media only screen and (max-width: 768px) {

	img { max-width: 100%; height: auto; }
	.is-pc { display: none !important; }
	.is-sp { display: block !important; }
	span.is-sp { display: inline-block !important; }

	.l-outer, 
	.l-inner {
		width: 100%;
		min-width: 100%;
	}

}

/* sweets-section
--------------------------------------------------------*/
.sweets-section {
	padding-top: 70px;
	padding-bottom: 70px;
	background-image: url(../img/bg-01-pc.jpg);
	background-position: top center;
	background-repeat: repeat-x;
	background-size: 100% auto;
	overflow: hidden;
}

.sweets-lead__img {
	display: flex;
	justify-content: center;
}
.sweets-lead__img img {
	width:554px;
}
.sweets-lead__text {
	font-size: 25px;
	font-weight: 900;
	text-align: center;
	margin: 0;
	padding-top: 30px;
	padding-bottom: 60px;
}

@media only screen and (max-width: 768px) {
	.sweets-section {
		padding-top: calc(100vw * (20 / 390));
		padding-bottom: 70px;
		background-image: url(../img/bg-01-sp.jpg);
	}
	.sweets-lead__img img {
		width: calc(100vw * (314 / 390));
	}
	.sweets-lead__text {
		font-size: calc(100vw * (16 / 390));
	}
}

.p-sweets-info h2 {
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0 0 20px 0;
	border-bottom: 1px solid #937e28;
}
.p-sweets-info h2 img {
	width: 362px;
}
.p-sweets-info__lead {
	color: #3f4e36;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}
.p-sweets-info__schedule {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 5px;
	width: 578px;
	margin-left: auto;
	margin-right: auto;
}
.p-sweets-info__item { }
.p-sweets-info__item--cake { width: 166px; }
.p-sweets-info__item--member { width: 405px; }
.p-sweets-info__item--general { width: 277px; }
.p-sweets-info__item--delivery { width: 282px; }
.p-sweets-info__note {
	width: 578px;
	font-size: 11.4px;
	font-family: "Noto Serif JP", serif;
	text-align: right;
	margin-left: auto;
	margin-right: auto;
} 

@media only screen and (max-width: 768px) {
	.p-sweets-info h2 img {
		width: calc(100vw * (223.6 / 390));
	}
	.p-sweets-info__lead {
		font-size: calc(100vw * (12 / 390));
	}
	.p-sweets-info__schedule {
		width: calc(100vw * (359 / 390));
	}
	.p-sweets-info__item--cake { width: calc(100vw * (103 / 390)); }
	.p-sweets-info__item--member { width: calc(100vw * (251 / 390)); }
	.p-sweets-info__item--general { width: calc(100vw * (171 / 390)); }
	.p-sweets-info__item--delivery { width: calc(100vw * (175 / 390)); }
	.p-sweets-info__note {
		width: calc(100vw * (359 / 390));
		font-size: calc(100vw * (7/ 390));
	}
}

.cake-item {
	display: flex;
	gap: 30px;
	align-items: center;
	justify-content: space-between;
}

.cake-item__img {

}

.cake-item.is-reverse {
	flex-direction: row-reverse;
}
.cake-item--01 {
	margin-top: 100px;
	position: relative;
}
.cake-item--01 .cake-item__img {
	flex: 0;
	position: absolute;
	top: -140px;
	right: -190px;
}
.cake-item--01 .cake-item__img img {
	width: 542px;
}
.cake-item--01 .cake-item__body {
	width: 405px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.cake-item--01 .cake-item__body .cake-size-box {
	margin-top: 30px;
	width: 360px;
}
.cake-item--01 .cake-size-box__inner h3 {
	font-size: 21px;
	margin: 0;
	padding: 0;
}
.cake-item--01 .cake-size-box__note {
	text-align: right;
	margin: 0;
	padding: 0;
	padding-top: 5px;
}
.cake-item--01 .cake-item__badge {
	position: absolute;
	bottom: -30px;
	left: calc(50% + 10px);
}
.cake-item__badge img {
	width: 77px;
}

.cake-item--02 {
	margin-top: 60px;
	position: relative;
	min-height: 400px;
}
.cake-item--02 .cake-item__img {
	width: 405px;
	flex: 0;
	position: absolute;
	top: 0;
	left: -50px;
}
.cake-item--02 .cake-item__img img {
	width: 405px;
	margin-left: -50px;
}

.cake-item--02 .cake-item__body {
	width: 370px;
}

.cake-item--03 .cake-item__img {
	width: 361px;
	flex-shrink: 0;
}
.cake-item--03 .cake-item__body {
	width: 370px;
}

.cake-item__body {

}
.cake-item__desc {
	font-size: 15px;
}
.cake-item__price-box {
	font-family: "Noto Serif JP", serif;
}

.cake-item__sizes {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.cake-item--02 .cake-item__sizes {
	gap: 20px;
}
.cake-item--03 .cake-item__sizes {
	gap: 15px;
}
.cake-item--02 .cake-size-box:nth-of-type(1) {
	order: 1;
}
.cake-item--02 .cake-item__sizes::before {
	content: '';
	width: 160px;
	display: flex;
	flex-direction: column;
	order: 2;
}
.cake-item--02 .cake-size-box:nth-of-type(2) {
	order: 3;
}

.cake-item--02 .cake-size-box:nth-of-type(3) {
	order: 4;
}

.cake-size-box {
	font-family: "Noto Serif JP", serif;
}
.cake-item--02 .cake-size-box {
	width: 160px;
	display: flex;
	flex-direction: column;
}

.cake-item--03 .cake-size-box {
	width: 160px;
	display: flex;
	flex-direction: column;
}
.cake-size-box__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #231815;
}

.cake-item--02 .cake-size-box__inner,
.cake-item--03 .cake-size-box__inner {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}

.cake-size-box__inner h3 {
	font-size: 17px;
	letter-spacing: -0.05em;
	margin: 0;
	padding: 0;
	line-height: 1;
}
.cake-size-box__note {
	font-size: 8px;
	padding-top: 3px;
	margin: 0;
}

.price {
	font-size: 25px;
	line-height: 1.4;
}
.yen {
	font-size: 18px;
}
.tax {
	font-size: 12px;
}

@media only screen and (max-width: 768px) {
	.cake-item {
		margin-top: calc(100vw * ( -50 / 390 ));
		display: block;
	}
	.cake-item--01 .cake-item__img {
		position: relative;
		top: auto;
		right: auto;
	}
	.cake-item--01 .cake-item__img img {
		width: calc(100vw * ( 542 / 390 ));
	}
	.cake-item--01 .cake-item__badge {
		position: absolute;
		bottom: auto;
		left: auto;
		top: calc(100vw * ( 300 / 390 ));
		right: calc(100vw * ( 20 / 390 ));
	}
	.cake-item__badge img {
		width: calc(100vw * ( 77 / 390 ));
	}
	.cake-item--01 .cake-item__body {
		width: 100%;
	}
	.cake-item--01 .cake-size-box__inner h3 {
		font-size: calc(100vw * ( 16 / 390 ));
	}
	.cake-item--01 .cake-item__body .cake-size-box {
		margin-left: calc(100vw * ( 30 / 390 ));
		width: calc(100% - (100vw * ( 30 / 390 )));
		position: relative;
	}
	.cake-item__catch {
		width: calc(100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	.cake-item__catch img {
		width: calc(100vw * ( 263.8 / 390 ));
	}
	.cake-item__desc {
		width: calc(100vw * ( 340 / 390 ));
		padding: 1em 0;
		font-size: calc(100vw * ( 12 / 390 ));
	}
	.cake-item--01 .cake-item__desc {
		margin-left: auto;
		margin-right: auto;
	}
	.cake-item--01 .cake-size-box__note {
		position: absolute;
		bottom: 1em;
		right: 1em;
	}
	.cake-size-box__inner {
		display: block;
	}
	.cake-item--03,
	.cake-item--02 {
		position: relative;
		min-height: auto;
	}
	.cake-item--02 {
		margin-top: calc(100vw * ( 60 / 390 ));
	}
	.cake-item--02 .cake-item__sizes {
		gap: calc(100vw * ( 15 / 390 ));
	}
	.cake-item--03 {
		margin-top: calc(100vw * ( 100 / 390 ));
	}
	.cake-item--03 .cake-item__img,
	.cake-item--02 .cake-item__img {
		width: calc(100vw * ( 240 / 390 ));
		position: absolute;
		top: auto;
		left: auto;
	}
	.cake-item--03 .cake-item__img img,
	.cake-item--02 .cake-item__img img {
		width: calc(100vw * ( 240 / 390 ));
		margin-left: 0;
	}
	.cake-item--02 .cake-item__img img {
		margin-top: calc(100vw * ( -40 / 390 ));
	}
	.cake-item--03 .cake-item__img img {
		margin-top: calc(100vw * ( -90 / 390 ));
	}
	.cake-item--03 .cake-item__body,
	.cake-item--02 .cake-item__body {
		margin-left: calc(100vw * ( 30 / 390 ));
		width: calc(100% - (100vw * ( 30 / 390 )));
		border-bottom: 1px solid #231815;
	}
	.cake-item--03 .cake-item__sizes,
	.cake-item--02 .cake-item__sizes {
		flex-direction: column;
		align-items: flex-end;
		width: calc(100vw * ( 340 / 390 ));
	}
	.cake-item--03 .cake-size-box,
	.cake-item--02 .cake-size-box {
		width: calc(100vw * ( 120 / 390 ));
	}
	.cake-item--02 .cake-item__sizes::before {
		display: none;
	}
	.cake-size-box__inner h3 {
		font-size: calc(100vw * ( 11.7 / 390 ));
	}
	.price {
		font-size: calc(100vw * ( 22 / 390 ));
	}
	.yen {
		font-size: calc(100vw * ( 14.7 / 390 ));
	}
	.tax {
		font-size: calc(100vw * ( 8 / 390 ));
	}
	.cake-size-box__note {
		font-size: calc(100vw * ( 7 / 390 ));
		letter-spacing: -0.05em;
	}
	
}

.single-sweets__header {
	padding-bottom: 30px;
}
.single-sweets__header img {
	width: 661px;
}
.single-sweets__period {
	display: flex;
	font-size: 12px;
}
.single-sweets__period img {
	width: 275px;
	margin-right: 1em;
}

.single-sweets-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 30px;
	margin-top: 50px;
}
.single-sweets-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 223px;
}

.single-sweets-card__img {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	min-height: 310px;
}
.card--01 img { width: 228px; }
.card--02 img { width: 213px; }
.card--03 img { width: 222px; }
.card--04 img { width: 238px; margin-bottom: -10px; }
.card--05 img { width: 267px; margin-bottom: 10px; }
.card--06 img { width: 211px; }

.single-sweets-card__body {
	font-size: 13px;
}
.single-sweets-card__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #231815;
	font-family: "Noto Serif JP", serif;
}
.single-sweets-card__inner h3 {
	font-size: 16px;
	margin: 0;
	padding: 0;
}
.single-sweets-card__inner .price {
	font-size: 18px;
}
.single-sweets-card__inner .yen {
	font-size: 14px;
}
.single-sweets-card__inner .tax {
	font-size: 11px;
}

@media only screen and (max-width: 768px) {
	.single-sweets__header {
		width: calc( 100vw * ( 330 / 390 ));
		margin-left: auto;
		margin-right: auto;
		padding-top: calc( 100vw * ( 30 / 390 ));
		padding-bottom: calc( 100vw * ( 20 / 390 ));
	}
	
	.single-sweets__header img {
		width: calc( 100vw * ( 308.7 / 390 ));
	}
		
	.single-sweets__period {
		display: block;
		font-size: calc( 100vw * ( 9.5 / 390 ));
		width: calc( 100vw * ( 330 / 390 ));
		letter-spacing: -0.05em;
		margin-left: auto;
		margin-right: auto;
	}
	.single-sweets__period img {
		width: calc( 100vw * ( 171 / 390 ));
		margin-right: 1em;
	}
	.single-sweets__period-note {
	
	}
	.single-sweets-grid {
		display: block;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.single-sweets-card{
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		flex: 1;
	}
	.single-sweets-card:nth-child(even) {
		flex-direction: row-reverse;
	}
	.single-sweets-card__img {
		width: calc( 100vw * ( 200 / 390 ));
		min-height: auto;
	}
	.single-sweets-card__body {
		font-size: calc( 100vw * ( 10 / 390 ));
		width: calc( 100vw * ( 175 / 390 ));
	}
	.single-sweets-card__inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.single-sweets-card__inner h3 {
		font-size: calc( 100vw * ( 14.7 / 390 ));
	}
	.single-sweets-card__body p {
		width: calc( 100vw * ( 135 / 390 ));
	}
	.single-sweets-card:nth-child(even) .single-sweets-card__inner {
		padding-left: calc( 100vw * ( 30 / 390 ));
	}
	.single-sweets-card:nth-child(even) .single-sweets-card__body p {
		width: calc( 100vw * ( 135 / 390 ));
		margin-left: calc( 100vw * ( 30 / 390 ));
	}
	.card--01 img { width: calc( 100vw * ( 203 / 390 )); }
	.card--02 img { width: calc( 100vw * ( 167.9 / 390 )); }
	.card--03 img { width: calc( 100vw * ( 192 / 390 )); }
	.card--04 img { width: calc( 100vw * ( 188.7 / 390 )); margin-bottom: auto; }
	.card--05 img { width: calc( 100vw * ( 214 / 390 )); margin-bottom: auto; }
	.card--06 img { width: calc( 100vw * ( 189 / 390 )); }
	
	.single-sweets-card__inner .price {
		font-size: calc( 100vw * ( 17 / 390 ));
	}
	.single-sweets-card__inner .yen {
		font-size: calc( 100vw * ( 11.5 / 390 ));
	}
	.single-sweets-card__inner .tax {
		font-size: calc( 100vw * ( 9.8 / 390 ));
	}
	
}

/* xmas-lunch-dinner-section
--------------------------------------------------------*/

.xmas-lunch-dinner-section {
	background-image: url(../img/bg-02-pc.jpg);
	background-position: top center;
	background-repeat: repeat-x;
	background-size: 100% auto;
	padding: 100px 0 100px 0;
	overflow: hidden;
}

.xmas-event-card {
	position: relative;
}
.lunch-card .xmas-event-card__img {
	position: absolute;
	top: -70px;
	left: 50%;
	transform: translateX(calc(-50% + 438px));
}
.lunch-card .xmas-event-card__badge {
	position: absolute;
	bottom: 75px;
	left: 120px;
}

.lunch-card h2 img {
	width: 485px;
}
.lunch-card h2 img.en {
	width: 407px;
}
.dinner-card {
	margin-top: 100px;
}
.dinner-card .xmas-event-card__img {
	position: absolute;
	top: -100px;
	left: 50%;
	transform: translateX(calc(-50% + 450px));
}
.dinner-card .xmas-event-card__badge {
	position: absolute;
	bottom: 50px;
	left: 120px;
}
.dinner-card h2 img {
	width: 534.5px;
}
.dinner-card h2 img.en {
	width: 431px;
}
.lunch-card .xmas-event-card__badge img,
.dinner-card .xmas-event-card__badge img {
	width: 115px;
}

@media only screen and (max-width: 768px) {
	.xmas-lunch-dinner-section {
		background-image: url(../img/bg-02-sp.jpg);
		padding: 0;
	}
	.dinner-card,
	.lunch-card {
		margin-top: 0;
		padding-bottom: calc( 100vw * (20 / 390 ));
	}
	.dinner-card .xmas-event-card__img,
	.lunch-card .xmas-event-card__img {
		position: relative;
		top: auto;
		left: auto;
		transform: translateX(0);
	}
	.dinner-card .xmas-event-card__badge,
	.lunch-card .xmas-event-card__badge {
		position: absolute;
		bottom: auto;
		left: auto;
		top: calc( 100vw * ( 70 / 390 ));
		right: calc( 100vw * ( 15 / 390 ));
	}
	.dinner-card .xmas-event-card__badge img,
	.lunch-card .xmas-event-card__badge img {
		width: calc( 100vw * ( 85 / 390 ));
	}
	.lunch-card h2,
	.dinner-card h2 {
		text-align: center;
	}
	.lunch-card h2 img {
		width: calc( 100vw * ( 290 / 390 ));
	}
	.dinner-card h2 img {
		width: calc( 100vw * ( 319 / 390 ));
	}
	.lunch-card h2 img.en {
		width: calc( 100vw * ( 248 / 390 ));
	}
	.dinner-card h2 img.en {
		width: calc( 100vw * ( 263 / 390 ));
	}
}

.xmas-event-card__date {
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-size: 30px;
}
.xmas-event-card__date span {
	font-size: 17px;
	letter-spacing: -0.05em;
}
.xmas-event-card__schedule {
	display: flex;
	align-items: center;
	font-family: "Noto Serif JP", serif;
	padding: 10px 0;
}
.xmas-event-card__schedule span.num {
	color: #c5a104;
}
.xmas-event-card__schedule .label img {
	width: 90.5px;
	display: flex;
	align-items: center;
	margin-right: 1em;
}
.xmas-event-card__schedule span.note {
	font-size: 11px;
	padding-left: 1em;
}
.xmas-event-card__lead {
	font-family: "Noto Serif JP", serif;
	color: #3f4e36;
	font-size: 15px;
}
.xmas-event-card__price-box {
	font-family: "Noto Serif JP", serif;
}

.price-text {
	width: 576px;
	font-size: 30px;
	border-bottom: 1px solid #231815;
}
.price-text span {
	font-size: 13.5px;
}
.price-text .yen {
	font-size: 20px;
}
.price-text .tax {
	font-size: 11px;
}

.price-note {
	font-size: 10px;
}

.xmas-event-card__reserve-box .reserve-box__inner {
	display: flex;
	align-items: center;
}
.reserve-label {
	display: flex;
	align-items: center;
}
.reserve-label img {
	width: 288px;
	margin-right: 0.5em;
}
.reserve-note {
	font-size: 11px;
}

.xmas-point-list ul {
	margin: 0;
	padding: 20px 0;
	display: flex;
	list-style: none;
	gap: 10px;
}
.xmas-point-list li {
	margin: 0;
	padding: 0;
	width: 139px;
}

@media only screen and (max-width: 768px) {
	.xmas-event-card__date {
		width: calc( 100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
		font-size: calc( 100vw * ( 24 / 390 ));
		text-align: center;
	}
	.xmas-event-card__date span {
		font-size: calc( 100vw * ( 12 / 390 ));
		letter-spacing: -0.05em;
	}
	.xmas-event-card__schedule {
		width: calc( 100vw * ( 320 / 390 ));
		font-size: calc( 100vw * ( 12 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}

	.xmas-event-card__schedule .label img {
		width: calc( 100vw * ( 54.6 / 390 ));
	}
	.xmas-event-card__schedule span.note {
		font-size: calc( 100vw * ( 9 / 390 ));
	}
	.xmas-event-card__lead {
		font-size: calc( 100vw * ( 12 / 390 ));
		text-align: center;
		width: calc( 100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	
	.xmas-event-card__price-box {
		width: calc( 100vw * ( 340 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	.price-text {
		font-size: calc( 100vw * ( 24 / 390 ));
		width: calc( 100vw * ( 340 / 390 ));
		margin-left: auto;
		margin-right: auto;
		padding-bottom: calc( 100vw * ( 5 / 390 ));
	}
	
	.price-text span {
		font-size: calc( 100vw * ( 10 / 390 ));
	}
	.price-text .yen {
		font-size: calc( 100vw * ( 12 / 390 ));
	}
	.price-text .tax {
		font-size: calc( 100vw * ( 8 / 390 ));
		margin-left: -1em;
	}

	.price-text .inline-block {
		display: inline-block;
		line-height: 1;
	}
	.price-text .half {
		font-size: calc( 100vw * ( 6 / 390 ));
		line-height: 1;
	}
	.price-note {
		font-size: calc( 100vw * ( 10 / 390 ));
		font-family: "Noto Sans JP", serif;
		letter-spacing: -0.05em;
	}
	.xmas-event-card__reserve-box {
		padding-top: calc( 100vw * ( 5 / 390 ));
	}
	.xmas-event-card__reserve-box .reserve-box__inner {
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: column;
		width: calc( 100vw * ( 330 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	.reserve-label img {
		width: calc( 100vw * ( 177 / 390 ));
	}
	.reserve-note {
		font-size: calc( 100vw * ( 10 / 390 ));
		letter-spacing: -0.05em;
	}

	.xmas-point-list ul {
		flex-wrap: wrap;
		gap: calc( 100vw * ( 10 / 390 ));
		width: calc( 100vw * ( 350 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	.xmas-point-list li {
		width: calc( 100vw * ( 110 / 390 ));
	}
}

/* xmas-propose-section
--------------------------------------------------------*/

.xmas-propose-section {
	background-color: #ceded7;
	padding: 50px 0;
}

.propose-box {
	position: relative;
	display: flex;
	justify-content: flex-end;
}
.propose-box__img {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(calc(-50% - 475px));
}
.propose-box__inner {
	width: 580px;
}
.propose-box__limit {
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(calc(-50% - 375px));
}
.propose-box__limit img {
	width: 181.9px;
}

.propose-box h2  {
	margin: 0;
	padding: 0;
}
.propose-box h2 img {
	width: 423px;
}

.propose-box__date {
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-size: 30px;
}
.propose-box__date span {
	font-size: 17px;
	letter-spacing: -0.05em;
}
.propose-box__lead {
	font-family: "Noto Serif JP", serif;
	color: #3f4e36;
	font-size: 15px;
	margin-bottom: 0;
}
.propose-box__price {
	font-family: "Noto Serif JP", serif;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	font-size: 32px;
	vertical-align: bottom;
}
.propose-box__price .num {
	font-size: 15px;
	padding-bottom: 0.4em;
	padding-right: 0.5em;
}
.propose-box__price .yen {
	font-size: 21px;
	padding-bottom: 0.2em;
}
.propose-box__price .tax {
	font-size: 11px;
	padding-bottom: 0.5em;
}

.propose-box__content {
	margin-top: -20px;
}
.propose-box__content h3 {
	display: inline-block;
	margin: 0 0 0 0;
	padding: 2px 20px 0 10px;
	background-color: rgba(255,255,255,0.75);
	clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
	font-size: 13px;
}
.propose-box__content ul {
	margin: -1px 0 0 0;
	padding: 15px;
	background-color: rgba(255,255,255,0.75);
	list-style: none;
}
.propose-box__content ul li {
	margin: 0;
	padding: 0;
	font-size: 12px;
	line-height: 2;
	letter-spacing: -0.05em;
}
.propose-box__content ul li span::after {
	content: '／';
}

@media only screen and (max-width: 768px) {
	.xmas-propose-section {
		background-color: #fff;
		padding: 0;
	}
	.propose-box {
		flex-direction: column;
		padding-bottom: calc( 100vw * ( 20 / 390 ));
	}
	.propose-box__img {
		position: relative;
		top: auto;
		left: auto;
		transform: translateX(0);
	}
	
	.propose-box__limit {
		position: relative;
		bottom: calc( 100vw * ( 20 / 390 ));
		left: auto;
		transform: translateX(0);
		display: flex;
		justify-content: center;
	}
	.propose-box__limit img {
		width: calc( 100vw * ( 182 / 390 ));
	}

	.propose-box h2  {
		display: flex;
		justify-content: center;
	}
	.propose-box h2 img {
		width: calc( 100vw * ( 314.8 / 390 ));
	}
	.propose-box__inner {
		width: calc( 100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	
	.propose-box__lead {
		font-size: calc( 100vw * ( 12.6 / 390 ));
		text-align: center;
		color: #3f4e36;
		padding-bottom: calc( 100vw * ( 15 / 390 ));
	}
	
	.propose-box__date {
		font-size: calc( 100vw * ( 22 / 390 ));
	}
	.propose-box__date span {
		font-size: calc( 100vw * ( 13 / 390 ));
	}
	
	.propose-box__price {
		font-size: calc( 100vw * ( 24 / 390 ));
		border-bottom: 1px solid #231815;
	}
	.propose-box__content {
		margin-top: calc( 100vw * ( 12 / 390 ));
	}
	.propose-box__content h3 {
		display: block;
		margin: 0;
		padding: 0;
		background: none;
		clip-path: none;
		font-size: calc( 100vw * ( 12 / 390 ));
		padding-bottom: calc( 100vw * ( 6 / 390 ));
	}

	.propose-box__content ul {
		padding: 0 0 15px 0;
	}
	.propose-box__content ul li {
		line-height: 1.6;
		padding-bottom: calc( 100vw * ( 6 / 390 ));
	}
	.propose-box__content ul li span {
		display: block;
		font-weight: bold;
		font-size: calc( 100vw * ( 13 / 390 ));
	}
	.propose-box__content ul li span::after {
		display: none;
		font-size: calc( 100vw * ( 11 / 390 ));
	}
	
	
}

/* xmas-information-section
--------------------------------------------------------*/

.heading-bar {
	background-color: #2b4e3f;
	display: flex;
	justify-content: center;
}
.xmas-information-section__title {
	width: 399px;
}

.info-card {
	display: flex;
	justify-content: space-between;
	position: relative;
	margin: 50px 0 80px 0;
}
.info-card__img-wrap {
	width: 352px;
}
.info-card__ribbon {
	display: flex;
	align-items: center;
	position: absolute;
	bottom: -40px;
	left: 50%;
	transform: translateX(-50%);
}
.info-card__ribbon img {
	width: 674px;
}
.info-card__body {
	width: 373px;
}
.info-card__heading {
	font-family: "Noto Serif JP", serif;
	border-bottom: 1px solid #000;
	padding-bottom: 5px;
}
.info-card__heading h3 {
	font-size: 26px;
	margin: 0;
	padding: 0;
}
.info-card__heading .sub { font-size: 13px; }

.info-card__badge {
	position: absolute;
	top: 10px;
	right: -10px;
}
.info-card__badge img {
	width: 62px;
}
.info-card__dl {
	font-size: 15px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.info-card__dl div {
	display: flex;
	align-items: flex-start;
}
.info-card__dl dt {
	display: flex;
	align-items: center;
	margin: 0 0.5em 0 0;
	padding: 0;
}
.info-card__dl dt img { width: 45.9px; }
.info-card__dl dd {
	margin: 0;
	padding: 0;
}

.info-card__note {
	font-size: 9px;
}

@media only screen and (max-width: 768px) {
	.xmas-information-section__title {
		width: calc( 100vw * ( 308.5 / 390 ));
	}
	.info-card {
		flex-direction: column;
		margin: 0;
		background-color: #f6f9e7;
		padding-bottom: calc( 100vw * ( 20 / 390 ));
	}
	.info-card__img-wrap {
		width: 100%;
	}
	.info-card__ribbon {
		display: flex;
		align-items: center;
		position: relative;
		bottom: auto;
		left: auto;
		transform: translateX(0);
		justify-content: center;
		padding: calc( 100vw * ( 16 / 390 )) 0;
	}
	.info-card__ribbon img {
		width: calc( 100vw * ( 346.7 / 390 ));
	}

	.info-card__heading {
		display: none;
	}
	.info-card__body {
		width: calc( 100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	.info-card__dl {
		width: 100%;
		font-size: calc( 100vw * ( 12.6 / 390 ));
	}
	.info-card__badge {
		position: absolute;
		top: calc( 100vw * ( 15 / 390 ));
		right: calc( 100vw * ( 15 / 390 ));
	}
	.info-card__badge img {
		width: calc( 100vw * ( 63 / 390 ));
	}
}

/* members-section
--------------------------------------------------------*/

.members-section {
	background-color: #bec8cf;
	padding-top: 20px;
}

.members-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 20px;
}
.members-hero h2 {
	margin: 0;
	padding: 0;
}
.members-hero h2 img { width: 320px; }
.members-hero p {
	font-size: 12px;
	line-height: 1.6;
}

.members-contents {
	display: flex;
	justify-content: space-between;
	padding-bottom: 20px;
}
.members-contents__img {}
.members-contents__img img { width: 434px; }
.members-contents__detail {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.members-contents__detail img { width: 275px; }

.members-caution-outer {
	background-color: #e16745;
	color: #fff;
	padding: 10px 0;
}
.members-caution-outer .l-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.members-caution-head {
	display: flex;
	flex-direction: column;
}
.members-caution-head h3 {
	margin: 0;
	padding: 0;
}
.members-caution-head h3 img {
	width: 320px;
}
.members-caution-head p {
	margin: 0;
	padding: 0;
	font-size: 11px;
}
.members-caution-body ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.members-caution-body li {
	margin: 0;
	padding: 0;
	font-size: 9px;
	line-height: 2;
}

@media only screen and (max-width: 768px) {
	.members-hero {
		flex-direction: column;
		width: calc( 100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	.members-hero h2 {
		margin: 0;
		padding: 0;
		display: flex;
		justify-content: center;
	}
	.members-hero h2 img { 
		width: calc( 100vw * ( 317 / 390 ));
	}
	
	.members-hero p {
		font-size: calc( 100vw * ( 9.5 / 390 ));
		line-height: 1.6;
	}
	
	.members-contents {
		flex-direction: column;
		width: calc( 100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	.members-contents__detail {
		margin-top: calc( 100vw * ( 10 / 390 ));
		width: calc( 100vw * ( 266 / 390 ));
		margin-left: auto;
		margin-right: auto;
		gap: calc( 100vw * ( 10 / 390 ));
	}
	.members-contents__img img {
		width: calc( 100vw * ( 318 / 390 ));
	}
	.members-contents__detail img {
		width: 100%;
	}
	.members-caution-outer {
		padding-top: calc( 100vw * ( 25 / 390 ));
		padding-bottom: calc( 100vw * ( 20 / 390 ));
	}
	.members-caution-outer .l-inner {
		display: flex;
		flex-direction: column;
	}
	.members-caution-head {
		width: calc( 100vw * ( 320 / 390 ));
		margin-left: auto;
		margin-right: auto;
	}
	.members-caution-head h3 img {
		width: calc( 100vw * ( 314.3 / 390 ));
	}
	.members-caution-head p {
		text-align: center;
		font-size: calc( 100vw * ( 11 / 390 ));
	}
	.members-caution-body {
		padding-top: calc( 100vw * ( 10 / 390 ));
	}
	.members-caution-body li {
		font-size: calc( 100vw * ( 9 / 390 ));
	}
}

.l-footer {
	padding: 20px 0;
	font-family: "Noto Serif JP", serif;
}


.l-footer .l-inner {
	width: 850px;
	display: grid;
	grid-template-columns: 135px 1fr;
	grid-template-areas: 
		"logo info"
		"logo details";
	font-size: 14.5px;
	max-width: 850px;
	margin-left: auto;
	margin-right: auto;
}

.l-footer .l-inner h2 {
	grid-area: logo;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
}
.l-footer .l-inner h2 img {
	width: 115px;
}
.l-footer .church-info {
	grid-area: info;
	align-self: start;
	align-items: start;
}
.l-footer .church-info .contact img { width: 91px; }
.l-footer .church-info .closed img { width: 45px; }
.l-footer .church-info dl {
	display: flex;
	justify-content: flex-start;
}
.l-footer .church-info dl {
	margin: 0;
}
.l-footer .church-info dl dt,
.l-footer .church-info dl dd {
	margin: 0;
	padding: 0;
	line-height: 1;
}
.l-footer .church-info dl dd {
	padding-left: 0.5em;
}
.l-footer .church-info dl div {
	display: flex;
	justify-content: flex-start;
	padding-right: 1em;
}
.l-footer .church-details {
	grid-area: details;
	display: flex;
	align-items: center;
}
.l-footer .church-details .address {
	width: 300px;
	line-height: 1.2;
}
.l-footer .church-details .note {
	font-size: 10px;
}

@media only screen and (max-width: 768px) {

	.l-footer .l-inner {
		width: calc( 100vw * ( 360 / 390 ));
		margin-left: auto;
		margin-right: auto;
		min-width: auto;
		
		display: grid;
		grid-template-columns: auto 1fr; 
		grid-template-areas: 
			"logo info"
			"details details";
		gap: 8px;
		align-items: center;
		font-size: 14.5px;
	}
	
	.l-footer .church-info {
		align-self: center;
		padding-left: calc( 100vw * ( 10 / 390 ));
	}
	
	.l-footer .l-inner h2 {
		
	}
	.l-footer .l-inner h2 img {
		width: calc( 100vw * ( 98 / 390 ));
	}
	
	.l-footer .church-info dl {
		flex-direction: column;
	}
	
	.l-footer .church-info .contact img { width: calc( 100vw * ( 78 / 390 )); }
	.l-footer .church-info .closed img { width: calc( 100vw * ( 43 / 390 )); }
	.l-footer .church-info dl dt {
		padding-right: 0.5em;
		font-size: calc( 100vw * ( 11 / 390 ));
	}
	.l-footer .church-info dl dd {
		display: flex;
		align-items: center;
		font-size: calc( 100vw * ( 11 / 390 ));
		padding: 0.2em 0;
	}
	
	.l-footer .church-details {
		flex-direction: column;
		align-self: start;
		align-items: start;
		gap: calc( 100vw * ( 5 / 390 ));
	}
	.l-footer .church-details .address {
		width: 100%;
		font-size: calc( 100vw * ( 13 / 390 ));
	}
	.l-footer .church-details .note {
		font-size: calc( 100vw * ( 10 / 390 ));
		letter-spacing: -0.05em;
	}
}

