/* archive-shop, single-shop, page-shop-story */

/* ==========================================================================
   archive-shop：ヘッダーの押し下げを排除（PCのみ）— archive-event と同じ考え方
   - main はビューポート上端から開始
   - ヘッダー下の余白は .shop-top-section の padding で確保
   - 1024px以下は header.css の sticky / fixed のまま
   ========================================================================== */

@media (min-width: 1025px) {
	body.post-type-archive-shop main.archive-shop {
		margin-top: 0;
		padding-top: 0;
		top: auto;
		transform: none;
		translate: none;
	}

	body.post-type-archive-shop .shop-top-section {
		padding-top: 200px;
		padding-bottom: 100px;
		height: auto;
	}
}

.shop-top-section {
	align-content: center;
	align-items: center;
	background: #fcefdfff;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 150px 0px 100px 0px;
	width: 100%;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
}

.shop-header {
	display: flex;
	align-content: center;
	align-items: center;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	max-width: 100%;
	box-sizing: border-box;
}

.shop-main-title {
	color: #544631ff;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 56px;
	font-weight: 600;
	height: auto;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: left;
	width: auto;
	max-width: 100%;
	justify-content: flex-start;
	margin: 0;
	display: flex;
	align-items: center;
}

.shop-subtitle {
	color: #544631ff;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 24px;
	font-weight: 600;
	height: auto;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: left;
	width: auto;
	max-width: 100%;
	justify-content: flex-start;
	margin: 0;
	display: flex;
	align-items: center;
}

.shop-blocks {
	align-content: center;
	align-items: center;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 24px;
	justify-content: center;
	margin: 80px 0px 0px 0px;
	padding: 0px;
	display: flex;
	max-width: 100%;
	box-sizing: border-box;
}

.shop-block {
	display: flex;
	align-content: center;
	align-items: center;
	background: #ffffffff;
	border-radius: 8px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
	flex: none;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 16px;
	height: 90px;
	justify-content: center;
	padding: 10px 20px;
	width: 278px;
	max-width: 100%;
	text-decoration: none;
	box-sizing: border-box;
}

.shop-block-title {
	color: #333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 20px;
	font-weight: 500;
	height: auto;
	line-height: 1.4;
	text-align: left;
	width: auto;
	max-width: 100%;
	justify-content: flex-start;
	margin: 0;
	display: flex;
	align-items: center;
}

.shop-block-icon {
	display: flex;
	align-content: center;
	align-items: center;
	background: #05aa7dff;
	border-radius: 48px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 0px;
	width: 24px;
	height: 24px;
	box-sizing: border-box;
}

.shop-block-icon i {
	color: #fff;
	font-size: 24px;
}

/* 店舗棟(西棟)セクション */
.shop-west-section {
    background: color(display-p3 0.9961 0.9686 0.9059);	
	display: flex;
    align-content: center;
    align-items: center;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    padding: 80px 60px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    box-sizing: border-box;
}

.shop-west-wrapper {
	display: flex;
    align-content: flex-start;
    align-items: flex-start;
    background: transparent;
    border-radius: 0;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    padding: 0px;
    max-width: 1280px;
    width: 100%;
    height: auto;
    box-sizing: border-box;
}

.shop-west-header-section {
	align-content: flex-start;
	align-items: flex-start;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin: 0px 0px 64px 0px;
	padding: 0px;
	width: 1280px;
	max-width: 100%;
	box-sizing: border-box;
}

.shop-west-header {
	display: flex;
	align-content: flex-start;
	align-items: flex-start;
	flex: none;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.shop-west-line {
	background: #fad74a;
	height: 56px;
	width: 8px;
	max-width: 100%;
	box-sizing: border-box;
}

.shop-west-title {
	color: #333333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 40px;
	font-weight: 600;
	height: auto;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin: 0px 0px 0px 16px;
	text-align: left;
	width: auto;
	max-width: calc(100% - 16px);
	justify-content: flex-start;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.shop-west-header-image {
	height: auto;
	margin: 24px 0px 0px 0px;
	width: 50%;
	max-width: 50%;
	display: block;
}

.shop-west-content-wrapper {
	align-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	padding: 0px;
	width: 1280px;
	max-width: 100%;
	box-sizing: border-box;
	display: flex;
}

.shop-west-floor-section {
	display: flex;
	flex-direction: column;
	margin-bottom: 0;
}

.shop-west-floors-container {
	display: flex;
	flex-direction: row;
	gap: 50px;
	align-items: stretch;
}

.shop-west-floor-section-inner {
	margin-top: 0;
	height: 100%;
}

/* 西棟2階は .shop-west-floor-section-inner でラップされている。
   対して 1 階は .shop-west-floor-wrapper が行の直接の子のため、
   レスポンシブ時の flex / width が 2 階列に効かず内側だけ calc(50%) が効いて列幅が潰れる。
   行の直接の子として同等の幅を確保し、内側ラッパーは列幅いっぱいに伸ばす。 */
.shop-west-floors-container > .shop-west-floor-wrapper {
	flex: 1 1 0;
	min-width: 0;
	align-self: stretch;
	box-sizing: border-box;
}

.shop-west-floors-container > .shop-west-floor-section.shop-west-floor-section-inner {
	flex: 1 1 0;
	min-width: 0;
	align-self: stretch;
	box-sizing: border-box;
}

.shop-west-floor-section-inner > .shop-west-floor-wrapper {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.shop-west-floor-wrapper {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.shop-west-floor-tab {
	align-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0px;
	justify-content: center;
	padding: 0px;
	width: auto;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
}

.shop-west-floor-tab p {
	color: #333333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 24px;
	font-weight: 600;
	height: auto;
	line-height: 1.4;
	text-align: left;
	width: auto;
	max-width: 100%;
	justify-content: flex-start;
	margin: 0;
	display: flex;
	align-items: center;
}

.shop-west-shoplist {
	align-content: flex-start;
	align-items: flex-start;
	flex: none;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0px 64px;
	justify-content: flex-start;
	margin: 16px 0px 0px 0px;
	width: 400px;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
}

.shop-west-shop-link {
	text-decoration: none;
	color: #333;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	transition: opacity 0.3s ease;
}

.shop-west-shop-link:hover,.shop-surrounding-card:hover {
	opacity: 0.8;
}

.shop-west-shop-image {
	border-radius: 0px 80px 0px 80px;
	flex: none;
	height: 360px;
	width: 380px;
	max-width: 380px;
	background-size: cover;
	background-position: center;
	margin-bottom: 12px;
	box-sizing: border-box;
}

.shop-west-shop-title-wrapper {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	padding: 0px;
	width: 380px;
	max-width: 380px;
	box-sizing: border-box;
}

.shop-west-shop-title {
	color: #333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 24px;
	font-weight: 900;
	letter-spacing: 0.3em;
	line-height: 1.2;
	margin: 0px 0px 0px 0px;
	text-align: left;
	width: 380px;
	max-width: 380px;
	justify-content: flex-start;
	display: block;
	box-sizing: border-box;
	word-break: normal;
	overflow-wrap: break-word;
	white-space: normal;
	text-align: center;
}

/* 周辺店舗セクション */
.shop-surrounding-section {
	background: #fdf9f3ff;

	display: flex;
    align-content: center;
    align-items: center;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    padding: 80px 60px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    box-sizing: border-box;

	
}

.shop-surrounding-wrapper {
	display: flex;
    align-content: flex-start;
    align-items: flex-start;
    background: transparent;
    border-radius: 0;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    padding: 0px;
    max-width: 1280px;
    width: 100%;
    height: auto;
    box-sizing: border-box;
}

.shop-surrounding-header {
	align-content: center;
	align-items: center;
	flex: none;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin: 0px 0px 64px 0px;
	padding: 0px;
	width: 1280px;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
}

.shop-surrounding-line {
	background: #fad74a;
	height: 56px;
	width: 8px;
	max-width: 100%;
	flex: none;
	box-sizing: border-box;
}

.shop-surrounding-title {
	color: #333333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 40px;
	font-weight: 600;
	height: auto;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin: 0px 0px 0px 16px;
	text-align: left;
	width: auto;
	max-width: calc(100% - 16px);
	justify-content: flex-start;
	box-sizing: border-box;
}

.shop-surrounding-content {
	align-content: flex-start;
	align-items: flex-start;
	flex: none;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0px 64px;
	justify-content: flex-start;
	margin: 0px 0px 0px 0px;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
}

.shop-surrounding-card {
	width: calc(30% - 4px);
	min-width: 300px;
	margin-bottom: 40px;
}

.shop-surrounding-image-link {
	display: block;
	width: 380px;
	max-width: 100%;
	text-decoration: none;
	box-sizing: border-box;
}

.shop-surrounding-image {
	border-radius: 0px 80px 0px 80px;
	flex: none;
	height: 360px;
	width: 380px;
	max-width: 380px;
	background-size: cover;
	background-position: center;
	margin-bottom: 12px;
	box-sizing: border-box;
}

.shop-surrounding-post-content {
	width: 380px;
	max-width: 100%;
	box-sizing: border-box;
}

.shop-surrounding-title-link {
	color: #333;
	font-family: var(--s-font-bc98daf2);
	font-size: 24px;
	font-weight: 900;
	letter-spacing: 0.3em;
	line-height: 1.2;
	margin: 0 auto;
	text-align: center;
	width: 380px;
	max-width: 100%;
	justify-content: center;
	text-decoration: none;
	display: block;
	box-sizing: border-box;
	word-wrap: break-word;
	overflow-wrap: break-word;
	white-space: normal;
}

.shop-surrounding-title-link:hover {
	text-decoration: underline;
}

.shop-surrounding-excerpt {
	color: #666;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
}

.shop-surrounding-bottom-image {
	flex: none;
	height: auto;
	width: 720px;
	max-width: 100%;
	display: block;
	box-sizing: border-box;
	margin: 30px auto 0 auto;
}

/* 店舗インタビューセクション */
.shop-interview-section {
	background: #fcefdfff;

	display: flex;
    align-content: center;
    align-items: center;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    padding: 80px 60px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    box-sizing: border-box;

}

.shop-interview-wrapper {
	display: flex;
    align-content: flex-start;
    align-items: flex-start;
    background: transparent;
    border-radius: 0;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    padding: 0px;
    max-width: 1280px;
    width: 100%;
    height: auto;
    box-sizing: border-box;
}

.shop-interview-header {
	align-content: center;
	align-items: center;
	flex: none;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin: 0px 0px 64px 0px;
	padding: 0px;
	width: 1280px;
	max-width: 100%;
	display: flex;
	box-sizing: border-box;
}

.shop-interview-line {
	background: #fad74a;
	height: 56px;
	width: 8px;
	max-width: 100%;
	flex: none;
	box-sizing: border-box;
}

.shop-interview-title {
	color: #333333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 40px;
	font-weight: 600;
	height: auto;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin: 0px 0px 0px 16px;
	text-align: left;
	width: auto;
	max-width: calc(100% - 16px);
	justify-content: flex-start;
	box-sizing: border-box;
}

.shop-interview-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
	flex: 1;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.shop-interview-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 600px;
	min-width: 0;
	height: auto;
	min-height: 0;
	margin: 0px 0px 22px 0px;
	box-sizing: border-box;
	padding: 21px;
}

.shop-interview-card:nth-child(2n) {
	margin-left: 0px;
}

/* passion .passion-posts-grid と同じ：1025px以上は2列グリッド（上記カードより後に置き cascade を優先） */
@media screen and (min-width: 1025px) {
	.shop-interview-content {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px;
	}

	.shop-interview-card {
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0;
	}
}

.shop-interview-image-link {
	display: block;
	width: 100%;
	max-width: 100%;
	flex-shrink: 0;
	min-width: 0;
	box-sizing: border-box;
	text-decoration: none;
}

.shop-interview-image {
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 558 / 320;
	background-size: cover;
	background-position: center;
	border-radius: 48px;
	box-sizing: border-box;
}

.shop-interview-post-content {
	display: flex;
	flex-direction: column;
	margin: 22px 0px 0px 0px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.shop-interview-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	position: relative;
	padding: 20px 0 15px 0;
}

.shop-interview-meta::after {
	content: '';
	display: block;
	width: 100%;
	max-width: 100%;
	height: 1px;
	background-color: #333;
	position: absolute;
	bottom: 0;
	left: 0;
}

.shop-interview-date-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}

.shop-interview-date-wrapper i {
	color: #214d1d;
	font-size: 16px;
}

.shop-interview-date {
	color: #333;
	font-size: 14px;
	font-weight: 400;
	margin: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.shop-interview-title-link {
	color: #333;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.4;
	margin-top: 10px;
	font-family: "Zen Kaku Gothic New", sans-serif;
    margin-bottom: 10px;
}

.shop-interview-title-link:hover {
	text-decoration: underline;
}

/* ======================================
   Responsive: 1024px / 768px / 425px / 375px / 320px
   PC用（1454px以上）のレイアウトは上のCSSそのまま維持
====================================== */

/* 1024px以下：2カラム→1カラムの土台を整える */
@media screen and (max-width: 1024px) {
	.shop-top-section {
		padding: 200px 20px 100px 20px;
		width: 100%;
		max-width: 100%;
	}

	.shop-blocks {
		flex-direction: column;
		gap: 16px;
		width: 100%;
		max-width: 100%;
	}

	.shop-block {
		width: 100%;
		max-width: 278px;
	}

	/* 店舗棟(西棟) */
	.shop-west-wrapper {
		margin: 0 20px;
		width: calc(100% - 40px);
		max-width: calc(100% - 40px);
	}

	.shop-west-header-section {
		width: 100%;
		max-width: 100%;
	}

	.shop-west-content-wrapper {
		width: 100%;
		max-width: 100%;
		flex-direction: column;
		gap: 40px;
	}

	.shop-west-floors-container {
		flex-direction: row;
		gap: 32px;
		align-items: flex-start;
	}

	.shop-west-floor-wrapper {
		flex: 1;
		width: calc(50% - 12px);
		max-width: calc(50% - 12px);
	}

	.shop-west-floors-container > .shop-west-floor-section.shop-west-floor-section-inner {
		flex: 1;
		min-width: 0;
		width: calc(50% - 12px);
		max-width: calc(50% - 12px);
		box-sizing: border-box;
	}

	.shop-west-floor-section-inner > .shop-west-floor-wrapper {
		width: 100%;
		max-width: 100%;
	}

	.shop-west-shoplist {
		width: 100%;
		max-width: 100%;
		gap: 0;
		flex-direction: column;
	}

	.shop-west-shop-link {
		width: 100%;
		max-width: 100%;
		align-items: center;
	}

	.shop-west-shop-image {
		width: 280px;
		height: 280px;
		max-width: 280px;
		border-radius: 0px 60px 0px 60px;
		margin: 0 auto 12px auto;
	}

	.shop-west-shop-title-wrapper {
		width: 100%;
		max-width: 100%;
		align-items: center;
	}

	.shop-west-shop-title {
		width: 100%;
		max-width: 100%;
		text-align: center;
	}

	.shop-west-shop-title-wrapper {
		width: 100%;
		max-width: 100%;
	}

	.shop-west-shop-title {
		width: 100%;
		max-width: 100%;
	}

	/* 周辺店舗 */
	.shop-surrounding-wrapper {
		margin: 0 20px;
		width: calc(100% - 40px);
		max-width: calc(100% - 40px);
		padding: 0;
	}

	.shop-surrounding-content {
		width: 100%;
		max-width: 100%;
		flex-direction: column;
		gap: 0;
	}

	.shop-surrounding-card {
		width: 100%;
		max-width: 100%;
		min-width: auto;
		margin-left: 0 !important;
		margin-bottom: 40px;
	}

	.shop-surrounding-image-link,
	.shop-surrounding-image,
	.shop-surrounding-post-content {
		width: 100%;
		max-width: 100%;
	}

	.shop-surrounding-image {
		width: 280px;
		height: 280px;
		max-width: 280px;
		border-radius: 0px 60px 0px 60px;
		margin: 0 auto 12px auto;
	}

	.shop-surrounding-title-link {
		width: 100%;
		max-width: 100%;
	}

	/* 店舗インタビュー */
	.shop-interview-wrapper {
		margin: 0 20px;
		width: calc(100% - 40px);
		max-width: calc(100% - 40px);
		padding: 0;
	}

	.shop-interview-content {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 20px;
		width: 100%;
		max-width: 100%;
	}

	.shop-interview-card {
		width: calc(50% - 10px);
		max-width: calc(50% - 10px);
		height: auto;
		min-height: auto;
		margin-left: 0 !important;
	}

	.shop-interview-image {
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.shop-interview-card:nth-child(2n) {
		margin-left: 0;
	}

	.shop-interview-image-link,
	.shop-interview-image {
		width: 100%;
		max-width: 100%;
	}

	.shop-interview-meta::after {
		width: 100%;
		left: 0;
	}
}

/* 768px以下：セクション余白と見出しを縮めつつ1カラムを徹底 */
@media screen and (max-width: 768px) {
	.shop-top-section {
		padding: 200px 20px 100px 20px;
		width: 100%;
		max-width: 100%;
	}

	.shop-main-title {
		font-size: 56px;
		width: 100%;
		max-width: 100%;
		text-align: center;
	}

	.shop-subtitle {
		font-size: 22px;
        width: auto;
        max-width: 100%;
        text-align: center;
        justify-content: center;
        margin: 0 auto;
	}

	/* 店舗棟(西棟) */
	.shop-west-section {
		padding: 40px 0;
		width: 100%;
		max-width: 100%;
	}

	.shop-west-wrapper {
		margin: 0 20px;
		width: calc(100% - 40px);
		max-width: calc(100% - 40px);
	}

	.shop-west-header-section {
		width: 100%;
		max-width: 100%;
		margin-bottom: 32px;
	}

	.shop-west-title {
		font-size: 32px;
		width: auto;
		max-width: 100%;
		padding: 0 12px;
	}

	.shop-west-line {
		width: 6px;
		height: 40px;
	}

	.shop-west-header-image {
		width: 100%;
		max-width: 100%;
	}

	.shop-west-content-wrapper {
		width: 100%;
		max-width: 100%;
		flex-direction: column;
		gap: 32px;
	}

	.shop-west-floor-section {
		width: 100%;
		max-width: 100%;
		margin-bottom: 24px;
	}

	.shop-west-floors-container {
		flex-direction: row;
		gap: 24px;
		align-items: flex-start;
	}

	.shop-west-floor-wrapper {
		flex: 1;
		width: calc(50% - 8px);
		max-width: calc(50% - 8px);
	}

	.shop-west-floor-section-inner {
		margin-top: 0;
	}

	.shop-west-floors-container > .shop-west-floor-section.shop-west-floor-section-inner {
		flex: 1;
		min-width: 0;
		width: calc(50% - 8px);
		max-width: calc(50% - 8px);
		box-sizing: border-box;
	}

	.shop-west-floor-section-inner > .shop-west-floor-wrapper {
		width: 100%;
		max-width: 100%;
	}

	.shop-west-floor-tab p {
		font-size: 20px;
	}

	.shop-west-shoplist {
		width: 100%;
		max-width: 100%;
		gap: 0;
		margin-top: 12px;
		flex-direction: column;
	}

	.shop-west-shop-link {
		width: 100%;
		max-width: 100%;
		align-items: center;
	}

	.shop-west-shop-image {
		width: 240px;
		height: 240px;
		max-width: 240px;
		border-radius: 0px 60px 0px 60px;
		margin: 0 auto 12px auto;
	}

	.shop-west-shop-title-wrapper {
		width: 100%;
		max-width: 100%;
		align-items: center;
	}

	.shop-west-shop-title {
		width: 100%;
		max-width: 100%;
		text-align: center;
	}

	.shop-west-shop-title-wrapper {
		width: 100%;
		max-width: 100%;
	}

	.shop-west-shop-title {
		font-size: 18px;
		letter-spacing: 0.2em;
		font-weight: 900;
		width: 100%;
		max-width: 100%;
	}

	/* 周辺店舗 */
	.shop-surrounding-section {
		padding: 40px 0;
		width: 100%;
		max-width: 100%;
	}

	.shop-surrounding-wrapper {
		margin: 0 20px;
		width: calc(100% - 40px);
		max-width: calc(100% - 40px);
		padding: 0;
	}

	.shop-surrounding-header {
		width: 100%;
		max-width: 100%;
	}

	.shop-surrounding-title {
		font-size: 32px;
		width: auto;
		max-width: 100%;
	}

	.shop-surrounding-content {
		width: 100%;
		max-width: 100%;
	}

	.shop-surrounding-card {
		width: 100%;
		max-width: 100%;
		margin-left: 0 !important;
		margin-bottom: 30px;
	}

	.shop-surrounding-image {
		width: 240px;
		height: 240px;
		max-width: 240px;
		border-radius: 0px 60px 0px 60px;
		margin: 0 auto 12px auto;
	}

	/* 店舗インタビュー */
	.shop-interview-section {
		padding: 40px 0;
		width: 100%;
		max-width: 100%;
	}

	.shop-interview-wrapper {
		margin: 0 20px;
		width: calc(100% - 40px);
		max-width: calc(100% - 40px);
		padding: 0;
	}

	.shop-interview-header {
		width: 100%;
		max-width: 100%;
	}

	.shop-interview-title {
		font-size: 32px;
		width: auto;
		max-width: 100%;
	}

	.shop-interview-content {
		flex-direction: column;
		gap: 24px;
		width: 100%;
		max-width: 100%;
	}

	.shop-interview-card {
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: auto;
		margin: 0;
		margin-left: 0 !important;
		padding: 24px;
	}

	.shop-interview-image {
		width: 100%;
		height: auto;
		aspect-ratio: 558 / 320;
	}

	.shop-interview-meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.shop-interview-meta::after {
		width: 100%;
		left: 0;
	}

	.shop-interview-title-link {
		font-size: 16px;
	}
}

/* passion と同様：767px以下でカード余白を切り替え */
@media screen and (max-width: 767px) {
	.shop-interview-card {
		padding: 16px;
		margin: 0px 0px 16px 0px;
	}

	.shop-interview-image {
		width: 100%;
		height: auto;
		aspect-ratio: 558 / 320;
	}

	.shop-interview-post-content {
		width: 100%;
		height: auto;
	}
}

/* 425px以下：スマホ向けに余白とフォントをさらに調整 */
@media screen and (max-width: 425px) {
	.shop-top-section {
		padding: 200px 16px 100px 16px;
		width: 100%;
		max-width: 100%;
	}

	.shop-main-title {
		font-size: 56px;
		width: auto;
		max-width: 200px;
		text-align: center;
		justify-content: center;
		margin: 0 auto;
		text-align: center;

	}

	.shop-subtitle {
		font-size: 20px;
		width: auto;
		max-width: 100%;
		text-align: center;
		justify-content: center;
		margin: 0 auto;
	}

	/* 店舗棟(西棟) */
	.shop-west-section {
		padding: 32px 0;
		width: 100%;
		max-width: 100%;
	}

	.shop-west-wrapper {
		margin: 0 16px;
		width: calc(100% - 32px);
		max-width: calc(100% - 32px);
	}

	.shop-west-title {
		font-size: 28px;
	}

	.shop-west-line {
		width: 5px;
		height: 36px;
	}

	.shop-west-floors-container {
		flex-direction: row;
		gap: 28px;
		align-items: flex-start;
	}

	.shop-west-floor-wrapper {
		flex: 1;
		width: calc(50% - 14px);
		max-width: calc(50% - 14px);
	}

	.shop-west-floors-container > .shop-west-floor-section.shop-west-floor-section-inner {
		flex: 1;
		min-width: 0;
		width: calc(50% - 14px);
		max-width: calc(50% - 14px);
		box-sizing: border-box;
	}

	.shop-west-floor-section-inner > .shop-west-floor-wrapper {
		width: 100%;
		max-width: 100%;
	}

	.shop-west-shoplist {
		flex-direction: column;
	}

	.shop-west-shop-link {
		align-items: center;
	}

	.shop-west-shop-image {
		width: 180px;
		height: 180px;
		max-width: 180px;
		border-radius: 0px 50px 0px 50px;
		margin: 0 auto 12px auto;
	}

	.shop-west-shop-title-wrapper {
		align-items: center;
	}

	.shop-west-shop-title {
		text-align: center;
	}

	.shop-west-shop-title {
		font-size: 16px;
		letter-spacing: 0.15em;
	}

	/* 周辺店舗 */
	.shop-surrounding-section {
		padding: 32px 0;
		width: 100%;
		max-width: 100%;
	}

	.shop-surrounding-wrapper {
		margin: 0 16px;
		width: calc(100% - 32px);
		max-width: calc(100% - 32px);
	}

	.shop-surrounding-title {
		font-size: 28px;
	}

	.shop-surrounding-image {
		width: 180px;
		height: 180px;
		max-width: 180px;
		border-radius: 0px 50px 0px 50px;
		margin: 0 auto 12px auto;
	}

	.shop-surrounding-title-link {
		font-size: 20px;
	}

	/* 店舗インタビュー */
	.shop-interview-section {
		padding: 32px 0;
		width: 100%;
		max-width: 100%;
	}

	.shop-interview-wrapper {
		margin: 0 16px;
		width: calc(100% - 32px);
		max-width: calc(100% - 32px);
	}

	.shop-interview-title {
		font-size: 28px;
	}

	.shop-interview-card {
		padding: 12px;
		margin: 0px 0px 12px 0px;
	}

	.shop-interview-title-link {
		font-size: 14px;
	}
}

/* 375px以下：標準スマホ向け */
@media screen and (max-width: 375px) {
	.shop-top-section {
		padding: 200px 12px 100px 12px;
		width: 100%;
		max-width: 100%;
	}

	.shop-main-title {
		font-size: 58px;
		width: auto;
		max-width: 200px;
		text-align: center;
		justify-content: center;
		margin: 0 auto;
	}

	.shop-subtitle {
		font-size: 18px;
		width: auto;
		max-width: 100%;
		text-align: center;
		justify-content: center;
		margin: 0 auto;
	}

	/* 店舗棟(西棟) */
	.shop-west-wrapper {
		margin: 0 12px;
		width: calc(100% - 24px);
		max-width: calc(100% - 24px);
	}

	.shop-west-title {
		font-size: 26px;
	}

	.shop-west-floors-container {
		flex-direction: row;
		gap: 24px;
		align-items: flex-start;
	}

	.shop-west-floor-wrapper {
		flex: 1;
		width: calc(50% - 12px);
		max-width: calc(50% - 12px);
	}

	.shop-west-floors-container > .shop-west-floor-section.shop-west-floor-section-inner {
		flex: 1;
		min-width: 0;
		width: calc(50% - 12px);
		max-width: calc(50% - 12px);
		box-sizing: border-box;
	}

	.shop-west-floor-section-inner > .shop-west-floor-wrapper {
		width: 100%;
		max-width: 100%;
	}

	.shop-west-shoplist {
		flex-direction: column;
	}

	.shop-west-shop-link {
		align-items: center;
	}

	.shop-west-shop-image {
        width: 160px;
        height: 160px;
		border-radius: 0px 50px 0px 50px;
		margin: 0 auto 12px auto;
	}

	.shop-west-shop-title-wrapper {
		align-items: center;
	}

	.shop-west-shop-title {
		text-align: center;
	}

	.shop-west-shop-title {
		font-size: 14px;
	}

	/* 周辺店舗 */
	.shop-surrounding-wrapper {
		margin: 0 12px;
		width: calc(100% - 24px);
		max-width: calc(100% - 24px);
	}

	.shop-surrounding-title {
		font-size: 26px;
	}

	.shop-surrounding-image {
		width: 160px;
		height: 160px;
		max-width: 160px;
		border-radius: 0px 50px 0px 50px;
		margin: 0 auto 12px auto;
	}

	.shop-surrounding-title-link {
		font-size: 18px;
	}

	/* 店舗インタビュー */
	.shop-interview-wrapper {
		margin: 0 12px;
		width: calc(100% - 24px);
		max-width: calc(100% - 24px);
	}

	.shop-interview-title {
		font-size: 26px;
	}

	.shop-interview-content {
		flex-direction: column;
		gap: 20px;
	}

	.shop-interview-card {
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: auto;
		margin: 0;
		padding: 10px;
	}
}

/* 320px以下：最小クラスのスマホ向け */
@media screen and (max-width: 320px) {
	.shop-top-section {
		padding: 60px 10px 36px 10px;
		width: 100%;
		max-width: 100%;
	}

	.shop-main-title {
		font-size: 40px;
		width: auto;
		max-width: 200px;
		text-align: center;
		justify-content: center;
		margin: 0 auto;
	}

	.shop-subtitle {
		font-size: 16px;
		width: auto;
		max-width: 100%;
		text-align: center;
		justify-content: center;
		margin: 0 auto;
	}

	/* 店舗棟(西棟) */
	.shop-west-wrapper {
		margin: 0 10px;
		width: calc(100% - 20px);
		max-width: calc(100% - 20px);
	}

	.shop-west-title {
		font-size: 24px;
	}

	.shop-west-line {
		width: 4px;
		height: 32px;
	}

	.shop-west-floors-container {
		flex-direction: row;
		gap: 20px;
		align-items: flex-start;
	}

	.shop-west-floor-wrapper {
		flex: 1;
		width: calc(50% - 10px);
		max-width: calc(50% - 10px);
	}

	.shop-west-floors-container > .shop-west-floor-section.shop-west-floor-section-inner {
		flex: 1;
		min-width: 0;
		width: calc(50% - 10px);
		max-width: calc(50% - 10px);
		box-sizing: border-box;
	}

	.shop-west-floor-section-inner > .shop-west-floor-wrapper {
		width: 100%;
		max-width: 100%;
	}

	.shop-west-shoplist {
		flex-direction: column;
	}

	.shop-west-shop-link {
		align-items: center;
	}

	.shop-west-shop-image {
		width: 140px;
		height: 140px;
		max-width: 140px;
		border-radius: 0px 40px 0px 40px;
		margin: 0 auto 12px auto;
	}

	.shop-west-shop-title-wrapper {
		align-items: center;
	}

	.shop-west-shop-title {
		text-align: center;
	}

	.shop-west-shop-title {
		font-size: 13px;
		letter-spacing: 0.1em;
	}

	/* 周辺店舗 */
	.shop-surrounding-wrapper {
		margin: 0 10px;
		width: calc(100% - 20px);
		max-width: calc(100% - 20px);
	}

	.shop-surrounding-title {
		font-size: 24px;
	}

	.shop-surrounding-image {
		width: 140px;
		height: 140px;
		max-width: 140px;
		border-radius: 0px 40px 0px 40px;
		margin: 0 auto 12px auto;
	}

	.shop-surrounding-title-link {
		font-size: 16px;
	}

	/* 店舗インタビュー */
	.shop-interview-wrapper {
		margin: 0 10px;
		width: calc(100% - 20px);
		max-width: calc(100% - 20px);
	}

	.shop-interview-title {
		font-size: 24px;
	}

	.shop-interview-content {
		gap: 16px;
	}

	.shop-interview-card {
		margin: 0;
		padding: 8px;
	}

	.shop-interview-title-link {
		font-size: 13px;
	}
}

/* 店舗棟(西棟)：550px以下で1階・2階を縦1カラム（他ブレークポイントの2列指定より後で上書き） */
@media screen and (max-width: 550px) {
	.shop-west-floors-container {
		flex-direction: column;
		gap: 28px;
		align-items: stretch;
	}

	.shop-west-floor-wrapper {
		flex: 1 1 auto;
		width: 100%;
		max-width: 100%;
	}

	.shop-west-floors-container > .shop-west-floor-section.shop-west-floor-section-inner {
		flex: 1 1 auto;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.shop-west-floor-section-inner > .shop-west-floor-wrapper {
		width: 100%;
		max-width: 100%;
	}
}

/* ========== single-shop（1階・2階・周辺店舗の投稿詳細）のみ。他に影響しない ========== */
/*
 * なぜ中央に寄らないことがあるか：
 * 1) 親(main)の幅がテーマやラッパーで制限されていると margin:auto の「余白」ができず中央にならない → main を 100vw で幅確保
 * 2) タイトル(h1)はブロックで中身がデフォルト左寄せ → text-align:center でテキストを中央に
 * 3) 線(hr)やブロック要素は幅を指定して margin:auto で中央に
 */
/* 親が幅制限されていても main をビューポート幅いっぱいにして、その中で中央寄せ */
main.single-shop {
	display: block !important;
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0;
	background-color: #fcefdf;
}

.single-shop-inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1376px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 60px 100px 120px;
	text-align: center;
}

.single-shop-eyecatch-wrap {
	flex: none;
	width: 80%;
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.single-shop-eyecatch {
	position: relative;
	flex: none;
	width: 100%;
	height: 800px;
	border-radius: 0 0 60px 60px;
	margin: 0 0 20px 0;
	overflow: hidden;
}

.single-shop-eyecatch-img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0 0 60px 60px;
}

.single-shop-title {
	flex: none;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 57px;
	margin: 10px 0 0 0;
	color: #333;
	font-family: var(--s-font-58bd5539);
	font-size: 36px;
	font-weight: 900;
	letter-spacing: 0.05em;
	line-height: 1.6;
	text-align: left;
}

.single-shop-line {
	flex: none;
	display: block;
	width: 100%;
	max-width: 980px;
	height: 1px;
	margin: 20px auto;
	border: none;
	background: #cfcfcf;
}

.single-shop-link-wrap {
	flex: none;
	width: 100%;
	max-width: 740px;
	min-height: 54px;
	margin-left: auto;
	margin-right: auto;
	
}

.single-shop-link {
	font-family: var(--s-font-bf93c44b);
	font-size: 16px;
	line-height: 1.7;
	color: #214d1d;
	text-decoration: none;
	border-bottom: 1px solid #214d1d;
}

.single-shop-link:hover {
	text-decoration: underline;
}

.single-shop-company {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 0;
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.single-shop-company-image-wrap {
	flex: none;
	width: 200px;
	height: 200px;
	overflow: hidden;
}

.single-shop-company-image {
	width: 200px;
	height: 200px;
	object-fit: cover;
	display: block;
}

.single-shop-company-overview-wrap {
	flex: 1;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: flex-start;
	width: 420px;
	max-width: calc(100% - 30px);
	min-height: 0;
	height: auto;
	margin: 0 0 0 30px;
	padding: 20px;
	background: rgba(207, 207, 207, 0.2);
	border: 0 solid #cfcfcf;
	border-left: 4px solid #cfcfcf;
	box-sizing: border-box;
}

.single-shop-company-overview {
	width: 380px;
	max-width: 100%;
	margin: 0;
	padding: 0;
	font-family: var(--s-font-58bd5539), "Zen Kaku Gothic New", sans-serif;
	font-size: 14px;
	line-height: 1.7;
	color: #333;
	box-sizing: border-box;
	overflow-wrap: break-word;
	word-break: break-word;
}

/* wpautop が入れる段落（外側は div に変更済み） */
.single-shop-company-overview > p,
.page-shop-story-company-overview > p {
	margin: 0 0 0.85em;
}

.single-shop-company-overview > p:last-child,
.page-shop-story-company-overview > p:last-child {
	margin-bottom: 0;
}

.single-shop-company-overview a,
.page-shop-story-company-overview a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.single-shop-company-overview a:hover,
.page-shop-story-company-overview a:hover {
	opacity: 0.85;
}

/* single-shop: 1024px */
@media (max-width: 1024px) {
	.single-shop-inner {
		padding: 48px 60px 100px;
	}
	.single-shop-eyecatch-wrap {
		margin-top: 72px;
		width: 820px;
		max-width: 100%;
	}
	.single-shop-eyecatch {
		width: 100%;
		height: 800px;
		border-radius: 0 0 48px 48px;
	}
	.single-shop-eyecatch-img {
		border-radius: 0 0 48px 48px;
	}
	.single-shop-title {
		font-size: 28px;
		min-height: 48px;
	}
	.single-shop-line {
		width: 820px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.single-shop-link-wrap {
		max-width: 100%;
	}
	.single-shop-company-image-wrap {
		width: 180px;
		height: 180px;
	}
	.single-shop-company-overview-wrap {
		width: 100%;
		min-width: 0;
		min-height: 0;
		height: auto;
		margin-left: 24px;
		padding: 20px;
		max-width: calc(100% - 24px);
	}
	.single-shop-company-overview {
		width: 100%;
		max-width: 360px;
		margin: 0;
		padding: 0;
		font-size: 13px;
	}
}

/* single-shop: 768px */
@media (max-width: 768px) {
	.single-shop-inner {
		padding: 72px 40px 80px;
	}
	.single-shop-eyecatch-wrap {
		margin-top: 72px;
		margin-bottom: 20px;
		width: 614px;
		max-width: 100%;
	}
	.single-shop-eyecatch {
		width: 100%;
		height: 500px;
		border-radius: 0 0 36px 36px;
		margin-bottom: 16px;
	}
	.single-shop-eyecatch-img {
		border-radius: 0 0 36px 36px;
	}
	.single-shop-title {
		font-size: 24px;
		min-height: 42px;
		margin-bottom: 12px;
	}
	.single-shop-line {
		width: 614px;
		max-width: 100%;
		margin: 16px auto;
	}
	.single-shop-link-wrap {
		min-height: 44px;
		max-width: 100%;
		margin-bottom: 16px;
	}
	.single-shop-link {
		font-size: 15px;
	}
	main.single-shop .single-shop-company {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	main.single-shop .single-shop-company-image-wrap {
		width: 100%;
		max-width: 200px;
		height: auto;
		margin: 0 auto 20px;
		text-align: center;
	}
	main.single-shop .single-shop-company-image {
		width: 100%;
		max-width: 200px;
		height: auto;
		display: block;
	}
	main.single-shop .single-shop-company-overview-wrap {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 0;
		height: auto;
		margin: 0 auto;
		padding: 16px;
		box-sizing: border-box;
	}
	main.single-shop .single-shop-company-overview {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
		font-size: 13px;
		box-sizing: border-box;
		overflow-wrap: break-word;
		word-break: break-word;
	}
	main.single-shop .single-shop-company-overview a {
		overflow-wrap: break-word;
		word-break: break-all;
	}
}

/* single-shop: 425px */
@media (max-width: 425px) {
	.single-shop-inner {
		padding: 28px 20px 64px;
		text-align: center;
	}
	.single-shop-eyecatch-wrap {
		margin-top: 40px;
		margin-bottom: 16px;
		width: 340px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.single-shop-eyecatch {
		width: 100%;
		height: 350px;
		border-radius: 0 0 24px 24px;
		margin-bottom: 12px;
	}
	.single-shop-eyecatch-img {
		border-radius: 0 0 24px 24px;
	}
	.single-shop-title {
		font-size: 20px;
		min-height: 36px;
		margin-bottom: 10px;
		text-align: center;
	}
	.single-shop-line {
		width: 340px;
		max-width: 100%;
		margin: 12px auto;
	}
	.single-shop-link-wrap {
		min-height: 40px;
		margin-bottom: 12px;
	}
	.single-shop-link {
		font-size: 14px;
	}
	main.single-shop .single-shop-company-image-wrap {
		max-width: 200px;
		margin: 0 auto 20px;
	}
	main.single-shop .single-shop-company-overview-wrap {
		width: 100%;
		min-height: 0;
		padding: 16px;
	}
	main.single-shop .single-shop-company-overview {
		max-width: 100%;
		font-size: 12px;
	}
}

/* single-shop: 375px */
@media (max-width: 375px) {
	.single-shop-inner {
		padding: 24px 16px 52px;
		text-align: center;
	}
	.single-shop-eyecatch-wrap {
		margin-top: 32px;
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.single-shop-eyecatch {
		height: 240px;
		border-radius: 0 0 20px 20px;
	}
	.single-shop-eyecatch-img {
		border-radius: 0 0 20px 20px;
	}
	.single-shop-title {
		font-size: 18px;
		min-height: 32px;
		text-align: center;
	}
	.single-shop-line {
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.single-shop-link {
		font-size: 13px;
	}
	main.single-shop .single-shop-company-image-wrap {
		max-width: 160px;
	}
	main.single-shop .single-shop-company-image {
		max-width: 160px;
	}
	main.single-shop .single-shop-company-overview-wrap {
		padding: 16px;
	}
	main.single-shop .single-shop-company-overview {
		max-width: 100%;
		font-size: 12px;
	}
}

/* single-shop: 320px */
@media (max-width: 320px) {
	.single-shop-inner {
		padding: 20px 12px 44px;
		text-align: center;
	}
	.single-shop-eyecatch-wrap {
		margin-top: 28px;
		margin-bottom: 12px;
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.single-shop-eyecatch {
		height: 200px;
		border-radius: 0 0 16px 16px;
		margin-bottom: 10px;
	}
	.single-shop-eyecatch-img {
		border-radius: 0 0 16px 16px;
	}
	.single-shop-title {
		font-size: 16px;
		min-height: 28px;
		margin-bottom: 8px;
		text-align: center;
	}
	.single-shop-line {
		width: 100%;
		max-width: 100%;
		margin: 10px auto;
	}
	.single-shop-link-wrap {
		min-height: 36px;
		margin-bottom: 10px;
	}
	.single-shop-link {
		font-size: 12px;
	}
	main.single-shop .single-shop-company-image-wrap {
		max-width: 140px;
	}
	main.single-shop .single-shop-company-image {
		max-width: 140px;
	}
	main.single-shop .single-shop-company-overview {
		font-size: 11px;
	}
}

/* ======================================
   page-shop-story（店舗インタビュー）
   ====================================== */
.page-shop-story {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background-color: #fcefdf;
}

.page-shop-story-inner {
	width: 100%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding: 60px 20px 80px;
	text-align: left;
}

.page-shop-story-eyecatch-wrap {
	flex: none;
	width: 100%;
	max-width: 100%;
	margin: 0 0 20px 0;
}

.page-shop-story-eyecatch {
	flex: none;
	width: 100%;
	max-width: 100%;
	height: 600px;
	margin: 0 0 20px 0;
	overflow: hidden;
	border-radius: 0 0 24px 24px;
}

.page-shop-story-eyecatch-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0 0 24px 24px;
}

.page-shop-story-title {
	color: #333;
	flex: none;
	font-family: var(--s-font-bf93c44b);
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin: 10px 0 0 0;
	text-align: left;
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	box-sizing: border-box;
}

.page-shop-story-subtitle {
	color: #333;
	flex: none;
	font-family: var(--s-font-bf93c44b);
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin: 0;
	text-align: left;
	width: 100%;
	max-width: 100%;
	min-height: 102px;
	box-sizing: border-box;
}

.page-shop-story-date-wrap {
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
	margin-top: 16px;
}

.page-shop-story-date-icon {
	flex: none;
	width: 14px;
	height: 16px;
	color: #214d1d;
	font-size: 16px;
	margin: 4px 5px 0 2px;
}

.page-shop-story-date {
	color: #666;
	margin: 0;
	font-size: 14px;
	max-width: calc(100% - 7px);
}

.page-shop-story-line {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 1px;
	margin: 16px 0 0 0;
	border: none;
	background: #cfcfcf;
}

/* page-shop-story 本文 */
.page-shop-story-body {
	margin-top: 40px;
}
.page-shop-story-body h2 {
	display: flex;
	align-items: center;
	border-bottom: 0 solid #214d1d;
	border-left: 5px solid #214d1d;
	border-right: 0 solid #214d1d;
	border-top: 0 solid #214d1d;
	font-family: var(--s-font-58bd5539);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 10px 0 5px 5px;
	max-width: 760px;
	min-height: 49px;
	box-sizing: border-box;
}
.page-shop-story-body h3,
.page-shop-story-body h4 {
	font-size: 20px;
}
.page-shop-story-body blockquote {
	background: #f0f0f0;
	border-left: 3px solid rgba(0,0,0,.15);
	font-family: var(--s-font-bf93c44b);
	font-style: normal;
	line-height: 1.9;
	margin: 10px 0;
	padding: 10px 15px;
	box-sizing: border-box;
}
.page-shop-story-body p + blockquote,
.page-shop-story-body figure + blockquote,
.page-shop-story-body .wp-block-image + blockquote {
	margin-top: 25px;
}
.page-shop-story-body blockquote + p,
.page-shop-story-body blockquote + figure,
.page-shop-story-body blockquote + .wp-block-image {
	margin-top: 25px;
}
.page-shop-story-body p {
	font-family: var(--s-font-bf93c44b);
	line-height: 1.7;
	margin: 10px 0;
}
.page-shop-story-body .page-shop-story-spacer {
	margin: 10px 0 !important;
	min-height: 0;
}
.page-shop-story-body p strong {
	font-size: 1.25em;
}
.page-shop-story-body a {
	color: #214d1d;
	text-decoration: underline #214d1d;
}
.page-shop-story-body h2,
.page-shop-story-body h3,
.page-shop-story-body h4 {
	margin: 30px 0;
	display: block;
}
/* イタリック */
.page-shop-story-body em,
.page-shop-story-body i {
	background: #dcefe4;
	color: #214d1d;
	font-family: var(--s-font-bf93c44b, "Zen Kaku Gothic New", sans-serif);
	font-size: 17px;
	font-style: normal;
	line-height: 2;
	padding: 0 5px;
}
/* クラシック figure のみ固定枠（埋め込み画像ブロック figure.wp-block-image は除外） */
.page-shop-story-body figure:not(.wp-block-image) {
	width: 760px;
	max-width: 100%;
	height: 493px;
	overflow: hidden;
	box-sizing: border-box;
	background-color: #f0f0f0;
}
/* 固定枠内の画像：見切れ防止 */
main.page-shop-story .page-shop-story-body figure:not(.wp-block-image) img {
	margin: 10px 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain;
	object-position: center;
	display: block;
	box-sizing: border-box;
}
/* 画像ブロック：縦横比そのまま。枠を 760px 固定にしない（狭い画像の横余白・白帯を防ぐ） */
main.page-shop-story .page-shop-story-body figure.wp-block-image,
main.page-shop-story .page-shop-story-body .wp-block-image {
	width: fit-content;
	width: -moz-fit-content;
	max-width: 100%;
	height: auto !important;
	min-height: 0 !important;
	min-width: 0;
	aspect-ratio: unset !important;
	overflow: visible;
	/* コアの白背景が見えないよう本文エリアと同色 */
	background-color: #fcefdf;
	box-sizing: border-box;
}
main.page-shop-story .page-shop-story-body figure.wp-block-image img,
main.page-shop-story .page-shop-story-body .wp-block-image img {
	margin: 10px 0;
	width: auto !important;
	max-width: min(760px, 100%) !important;
	height: auto !important;
	object-fit: unset !important;
	object-position: unset !important;
	display: block;
	box-sizing: border-box;
}
.page-shop-story-body p + figure,
.page-shop-story-body p + .wp-block-image,
.page-shop-story-body .wp-block-paragraph + .wp-block-image,
.page-shop-story-body .wp-block-paragraph + figure {
	margin-top: 20px !important;
}
.page-shop-story-body p + figure img,
.page-shop-story-body p + .wp-block-image img,
.page-shop-story-body .wp-block-paragraph + .wp-block-image img,
.page-shop-story-body .wp-block-paragraph + figure img {
	margin-top: 0 !important;
}
.page-shop-story-body figure:has(+ p),
.page-shop-story-body .wp-block-image:has(+ p),
.page-shop-story-body figure:has(+ .wp-block-paragraph),
.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) {
	margin-bottom: 20px !important;
}
.page-shop-story-body figure:has(+ p) img,
.page-shop-story-body .wp-block-image:has(+ p) img,
.page-shop-story-body figure:has(+ .wp-block-paragraph) img,
.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) img {
	margin-bottom: 0 !important;
}
.page-shop-story-body h2 + figure,
.page-shop-story-body h3 + figure,
.page-shop-story-body h4 + figure,
.page-shop-story-body h2 + .wp-block-image,
.page-shop-story-body h3 + .wp-block-image,
.page-shop-story-body h4 + .wp-block-image,
.page-shop-story-body .wp-block-heading + .wp-block-image,
.page-shop-story-body .wp-block-heading + figure {
	margin-top: 0 !important;
}
.page-shop-story-body h2 + figure img,
.page-shop-story-body h3 + figure img,
.page-shop-story-body h4 + figure img,
.page-shop-story-body h2 + .wp-block-image img,
.page-shop-story-body h3 + .wp-block-image img,
.page-shop-story-body h4 + .wp-block-image img,
.page-shop-story-body .wp-block-heading + .wp-block-image img,
.page-shop-story-body .wp-block-heading + figure img {
	margin-top: 0 !important;
}
.page-shop-story-body figure:has(+ h2),
.page-shop-story-body figure:has(+ h3),
.page-shop-story-body figure:has(+ h4),
.page-shop-story-body figure:has(+ .wp-block-heading),
.page-shop-story-body .wp-block-image:has(+ h2),
.page-shop-story-body .wp-block-image:has(+ h3),
.page-shop-story-body .wp-block-image:has(+ h4),
.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) {
	margin-bottom: 0 !important;
}
.page-shop-story-body figure:has(+ h2) img,
.page-shop-story-body figure:has(+ h3) img,
.page-shop-story-body figure:has(+ h4) img,
.page-shop-story-body figure:has(+ .wp-block-heading) img,
.page-shop-story-body .wp-block-image:has(+ h2) img,
.page-shop-story-body .wp-block-image:has(+ h3) img,
.page-shop-story-body .wp-block-image:has(+ h4) img,
.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) img {
	margin-bottom: 0 !important;
}

/* ロゴ等：本文の固定アスペクト比を外す。ブロックに追加クラス page-shop-story-body-logo（page-shop-story.php と併記） */
main.page-shop-story .page-shop-story-body figure.page-shop-story-body-logo,
main.page-shop-story .page-shop-story-body .wp-block-image.page-shop-story-body-logo {
	width: min(100%, 400px) !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}
main.page-shop-story .page-shop-story-body figure.page-shop-story-body-logo img,
main.page-shop-story .page-shop-story-body .wp-block-image.page-shop-story-body-logo img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain !important;
	object-position: center !important;
}

/* page-shop-story: 会社（画像・概要） */
.page-shop-story-company {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	width: 100%;
	max-width: 100%;
	margin-top: 48px;
	gap: 24px;
}
.page-shop-story-company-image-wrap {
	flex: none;
	width: 300px;
	height: 300px;
	max-width: 100%;
	overflow: hidden;
	border-radius: 0;
}
.page-shop-story-company-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.page-shop-story-company-overview-wrap {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.page-shop-story-company-overview {
	margin: 0;
	padding: 0;
	font-family: var(--s-font-bf93c44b), sans-serif;
	font-size: 16px;
	line-height: 1.7;
	color: #333;
}

/* page-shop-story: WRITER（固定見出し＋写真・人物について） */
.page-shop-story-writer {
	margin-top: 56px;
	padding: 32px 0 0;
	background: #fcefdf;
}
.page-shop-story-writer-heading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
}
.page-shop-story-writer-check {
	display: inline-block;
	width: 24px;
	height: 24px;
	flex: none;
	background-color: #214d1d;
	border-radius: 4px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
	background-size: 16px 16px;
	background-position: center;
	background-repeat: no-repeat;
}
.page-shop-story-writer-title {
	font-family: var(--s-font-bf93c44b), sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #333;
}
.page-shop-story-writer-content {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 24px;
	max-width: 100%;
	margin-left: 32px;
}
.page-shop-story-writer-image-wrap {
	border: solid 1px rgba(0, 0, 0, 0.09);
	border-radius: 0;
	flex: none;
	height: 120px;
	margin: 0 16px 0 0;
	width: 120px;
	max-width: calc(100% - 16px);
	overflow: hidden;
}
.page-shop-story-writer-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.page-shop-story-writer-about-wrap {
	align-content: flex-start;
	align-items: flex-start;
	background: rgba(0, 0, 0, 0);
	display: flex;
	flex: 1;
	flex-direction: column;
	flex-wrap: nowrap;
	height: 120px;
	justify-content: flex-start;
	overflow-y: auto;
	padding: 0;
	width: auto;
	max-width: 100%;
	min-width: 0;
}
.page-shop-story-writer-about {
	margin: 0;
	font-family: var(--s-font-bf93c44b), sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: #333;
}

/* page-shop-story: 1024px */
@media (max-width: 1024px) {
	.page-shop-story-inner {
		padding: 48px 24px 64px;
	}
	.page-shop-story-eyecatch {
		height: 480px;
		border-radius: 0 0 20px 20px;
	}
	.page-shop-story-eyecatch-img {
		border-radius: 0 0 20px 20px;
	}
	.page-shop-story-title {
		font-size: 24px;
		min-height: 38px;
	}
	.page-shop-story-subtitle {
		font-size: 28px;
		min-height: 88px;
	}
	.page-shop-story-date-icon {
		width: 12px;
		height: 14px;
		font-size: 14px;
		margin: 3px 4px 0 2px;
	}
	.page-shop-story-date {
		font-size: 13px;
	}
	.page-shop-story-body {
		margin-top: 36px;
	}
	.page-shop-story-body .page-shop-story-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.page-shop-story-body p + blockquote,
	.page-shop-story-body figure + blockquote,
	.page-shop-story-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.page-shop-story-body blockquote + p,
	.page-shop-story-body blockquote + figure,
	.page-shop-story-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.page-shop-story-body h2,
	.page-shop-story-body h3,
	.page-shop-story-body h4 {
		margin: 30px 0;
	}
	.page-shop-story-body img {
		margin: 10px 0;
	}
	.page-shop-story-body p + figure,
	.page-shop-story-body p + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.page-shop-story-body p + figure img,
	.page-shop-story-body p + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ p),
	.page-shop-story-body .wp-block-image:has(+ p),
	.page-shop-story-body figure:has(+ .wp-block-paragraph),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.page-shop-story-body figure:has(+ p) img,
	.page-shop-story-body .wp-block-image:has(+ p) img,
	.page-shop-story-body figure:has(+ .wp-block-paragraph) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body h2 + figure,
	.page-shop-story-body h3 + figure,
	.page-shop-story-body h4 + figure,
	.page-shop-story-body h2 + .wp-block-image,
	.page-shop-story-body h3 + .wp-block-image,
	.page-shop-story-body h4 + .wp-block-image,
	.page-shop-story-body .wp-block-heading + .wp-block-image,
	.page-shop-story-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.page-shop-story-body h2 + figure img,
	.page-shop-story-body h3 + figure img,
	.page-shop-story-body h4 + figure img,
	.page-shop-story-body h2 + .wp-block-image img,
	.page-shop-story-body h3 + .wp-block-image img,
	.page-shop-story-body h4 + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2),
	.page-shop-story-body figure:has(+ h3),
	.page-shop-story-body figure:has(+ h4),
	.page-shop-story-body figure:has(+ .wp-block-heading),
	.page-shop-story-body .wp-block-image:has(+ h2),
	.page-shop-story-body .wp-block-image:has(+ h3),
	.page-shop-story-body .wp-block-image:has(+ h4),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2) img,
	.page-shop-story-body figure:has(+ h3) img,
	.page-shop-story-body figure:has(+ h4) img,
	.page-shop-story-body figure:has(+ .wp-block-heading) img,
	.page-shop-story-body .wp-block-image:has(+ h2) img,
	.page-shop-story-body .wp-block-image:has(+ h3) img,
	.page-shop-story-body .wp-block-image:has(+ h4) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:not(.wp-block-image) {
		height: auto;
		aspect-ratio: 760 / 493;
	}
	.page-shop-story-company {
		margin-top: 40px;
		gap: 20px;
	}
	.page-shop-story-company-image-wrap {
		width: 300px;
		height: 300px;
	}
	.page-shop-story-company-overview {
		font-size: 15px;
	}
	.page-shop-story-writer {
		margin-top: 48px;
		padding-top: 28px;
	}
	.page-shop-story-writer-heading {
		margin-bottom: 20px;
	}
	.page-shop-story-writer-check {
		width: 22px;
		height: 22px;
		background-size: 14px 14px;
	}
	.page-shop-story-writer-title {
		font-size: 16px;
	}
	.page-shop-story-writer-content {
		gap: 20px;
	}
	.page-shop-story-writer-image-wrap {
		width: 120px;
		height: 120px;
		margin: 0 16px 0 0;
	}
	.page-shop-story-writer-about-wrap {
		height: 120px;
	}
	.page-shop-story-writer-about {
		font-size: 12px;
	}
}

/* page-shop-story: 768px */
@media (max-width: 768px) {
	.page-shop-story-inner {
		padding: 36px 20px 56px;
	}
	.page-shop-story-eyecatch {
		/* FVも元画像の縦横比のまま可変（固定高さを解除） */
		height: auto;
		aspect-ratio: auto;
		border-radius: 0 0 16px 16px;
		margin: 0 0 16px 0;
	}
	.page-shop-story-eyecatch-img {
		height: auto;
		object-fit: contain;
		border-radius: 0 0 16px 16px;
	}
	.page-shop-story-title {
		font-size: 22px;
		margin: 8px 0 0 0;
		min-height: 36px;
	}
	.page-shop-story-subtitle {
		font-size: 24px;
		margin: 0;
		min-height: 72px;
	}
	.page-shop-story-date-icon {
		width: 11px;
		height: 13px;
		font-size: 13px;
		margin: 3px 4px 0 2px;
	}
	.page-shop-story-date {
		font-size: 12px;
		margin: 0;
	}
	.page-shop-story-line {
		margin: 12px 0 0 0;
	}
	.page-shop-story-body {
		margin-top: 32px;
	}
	.page-shop-story-body .page-shop-story-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.page-shop-story-body p + blockquote,
	.page-shop-story-body figure + blockquote,
	.page-shop-story-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.page-shop-story-body blockquote + p,
	.page-shop-story-body blockquote + figure,
	.page-shop-story-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.page-shop-story-body h2 {
		min-height: 44px;
	}
	.page-shop-story-body h2,
	.page-shop-story-body h3,
	.page-shop-story-body h4 {
		margin: 30px 0;
	}
	.page-shop-story-body img {
		margin: 10px 0;
	}
	.page-shop-story-body p + figure,
	.page-shop-story-body p + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.page-shop-story-body p + figure img,
	.page-shop-story-body p + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ p),
	.page-shop-story-body .wp-block-image:has(+ p),
	.page-shop-story-body figure:has(+ .wp-block-paragraph),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.page-shop-story-body figure:has(+ p) img,
	.page-shop-story-body .wp-block-image:has(+ p) img,
	.page-shop-story-body figure:has(+ .wp-block-paragraph) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body h2 + figure,
	.page-shop-story-body h3 + figure,
	.page-shop-story-body h4 + figure,
	.page-shop-story-body h2 + .wp-block-image,
	.page-shop-story-body h3 + .wp-block-image,
	.page-shop-story-body h4 + .wp-block-image,
	.page-shop-story-body .wp-block-heading + .wp-block-image,
	.page-shop-story-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.page-shop-story-body h2 + figure img,
	.page-shop-story-body h3 + figure img,
	.page-shop-story-body h4 + figure img,
	.page-shop-story-body h2 + .wp-block-image img,
	.page-shop-story-body h3 + .wp-block-image img,
	.page-shop-story-body h4 + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2),
	.page-shop-story-body figure:has(+ h3),
	.page-shop-story-body figure:has(+ h4),
	.page-shop-story-body figure:has(+ .wp-block-heading),
	.page-shop-story-body .wp-block-image:has(+ h2),
	.page-shop-story-body .wp-block-image:has(+ h3),
	.page-shop-story-body .wp-block-image:has(+ h4),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2) img,
	.page-shop-story-body figure:has(+ h3) img,
	.page-shop-story-body figure:has(+ h4) img,
	.page-shop-story-body figure:has(+ .wp-block-heading) img,
	.page-shop-story-body .wp-block-image:has(+ h2) img,
	.page-shop-story-body .wp-block-image:has(+ h3) img,
	.page-shop-story-body .wp-block-image:has(+ h4) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:not(.wp-block-image) {
		height: auto;
		/* 768px以下は画像の縦横比を固定しない（元画像比率で可変） */
		aspect-ratio: auto;
	}
	.page-shop-story-body figure:not(.wp-block-image) img {
		height: auto !important;
		object-fit: contain;
		object-position: center;
	}
	main.page-shop-story .page-shop-story-body figure.wp-block-image img,
	main.page-shop-story .page-shop-story-body .wp-block-image img {
		width: auto !important;
		max-width: min(760px, 100%) !important;
		height: auto !important;
		object-fit: unset !important;
		object-position: unset !important;
	}
	.page-shop-story-company {
		margin-top: 36px;
		gap: 16px;
	}
	.page-shop-story-company-image-wrap {
		width: 280px;
		height: 280px;
		max-width: 100%;
	}
	.page-shop-story-company-overview {
		font-size: 15px;
	}
	.page-shop-story-writer {
		margin-top: 40px;
		padding-top: 24px;
	}
	.page-shop-story-writer-heading {
		margin-bottom: 18px;
	}
	.page-shop-story-writer-check {
		width: 20px;
		height: 20px;
		background-size: 12px 12px;
	}
	.page-shop-story-writer-title {
		font-size: 15px;
	}
	.page-shop-story-writer-content {
		flex-wrap: wrap;
		gap: 16px;
	}
	.page-shop-story-writer-image-wrap {
		width: 120px;
		height: 120px;
		margin: 0 16px 0 0;
	}
	.page-shop-story-writer-about-wrap {
		height: 120px;
	}
	.page-shop-story-writer-about {
		font-size: 12px;
	}
}

/* page-shop-story: 425px */
@media (max-width: 425px) {
	.page-shop-story-inner {
		padding: 28px 16px 48px;
	}
	.page-shop-story-eyecatch {
		height: 280px;
		border-radius: 0 0 12px 12px;
		margin: 0 0 12px 0;
	}
	.page-shop-story-eyecatch-img {
		border-radius: 0 0 12px 12px;
	}
	.page-shop-story-title {
		font-size: 20px;
		margin: 6px 0 0 0;
		min-height: 32px;
	}
	.page-shop-story-subtitle {
		font-size: 20px;
		margin: 0;
		min-height: 60px;
	}
	.page-shop-story-date-icon {
		width: 10px;
		height: 12px;
		font-size: 12px;
		margin: 2px 3px 0 2px;
	}
	.page-shop-story-date {
		font-size: 12px;
		margin: 0;
	}
	.page-shop-story-line {
		margin: 10px 0 0 0;
	}
	.page-shop-story-body {
		margin-top: 28px;
	}
	.page-shop-story-body .page-shop-story-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.page-shop-story-body p + blockquote,
	.page-shop-story-body figure + blockquote,
	.page-shop-story-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.page-shop-story-body blockquote + p,
	.page-shop-story-body blockquote + figure,
	.page-shop-story-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.page-shop-story-body h2,
	.page-shop-story-body h3,
	.page-shop-story-body h4 {
		margin: 30px 0;
	}
	.page-shop-story-body img {
		margin: 10px 0;
	}
	.page-shop-story-body p + figure,
	.page-shop-story-body p + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.page-shop-story-body p + figure img,
	.page-shop-story-body p + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ p),
	.page-shop-story-body .wp-block-image:has(+ p),
	.page-shop-story-body figure:has(+ .wp-block-paragraph),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.page-shop-story-body figure:has(+ p) img,
	.page-shop-story-body .wp-block-image:has(+ p) img,
	.page-shop-story-body figure:has(+ .wp-block-paragraph) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body h2 + figure,
	.page-shop-story-body h3 + figure,
	.page-shop-story-body h4 + figure,
	.page-shop-story-body h2 + .wp-block-image,
	.page-shop-story-body h3 + .wp-block-image,
	.page-shop-story-body h4 + .wp-block-image,
	.page-shop-story-body .wp-block-heading + .wp-block-image,
	.page-shop-story-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.page-shop-story-body h2 + figure img,
	.page-shop-story-body h3 + figure img,
	.page-shop-story-body h4 + figure img,
	.page-shop-story-body h2 + .wp-block-image img,
	.page-shop-story-body h3 + .wp-block-image img,
	.page-shop-story-body h4 + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2),
	.page-shop-story-body figure:has(+ h3),
	.page-shop-story-body figure:has(+ h4),
	.page-shop-story-body figure:has(+ .wp-block-heading),
	.page-shop-story-body .wp-block-image:has(+ h2),
	.page-shop-story-body .wp-block-image:has(+ h3),
	.page-shop-story-body .wp-block-image:has(+ h4),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2) img,
	.page-shop-story-body figure:has(+ h3) img,
	.page-shop-story-body figure:has(+ h4) img,
	.page-shop-story-body figure:has(+ .wp-block-heading) img,
	.page-shop-story-body .wp-block-image:has(+ h2) img,
	.page-shop-story-body .wp-block-image:has(+ h3) img,
	.page-shop-story-body .wp-block-image:has(+ h4) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:not(.wp-block-image) {
		height: auto;
		aspect-ratio: 760 / 493;
	}
	.page-shop-story-company {
		margin-top: 32px;
		gap: 12px;
	}
	.page-shop-story-company-image-wrap {
		width: 200px;
		height: 200px;
		max-width: 100%;
	}
	.page-shop-story-company-overview {
		font-size: 14px;
	}
	.page-shop-story-writer {
		margin-top: 36px;
		padding-top: 20px;
	}
	.page-shop-story-writer-heading {
		margin-bottom: 16px;
	}
	.page-shop-story-writer-check {
		width: 18px;
		height: 18px;
		background-size: 11px 11px;
	}
	.page-shop-story-writer-title {
		font-size: 14px;
	}
	.page-shop-story-writer-image-wrap {
		width: 120px;
		height: 120px;
		margin: 0 16px 0 0;
	}
	.page-shop-story-writer-about-wrap {
		height: 120px;
	}
	.page-shop-story-writer-about {
		font-size: 11px;
	}
}

/* page-shop-story: 375px */
@media (max-width: 375px) {
	.page-shop-story-inner {
		padding: 24px 12px 40px;
	}
	.page-shop-story-eyecatch {
		height: 240px;
		border-radius: 0 0 10px 10px;
		margin: 0 0 10px 0;
	}
	.page-shop-story-title {
		font-size: 18px;
		margin: 6px 0 0 0;
		min-height: 30px;
	}
	.page-shop-story-subtitle {
		font-size: 18px;
		min-height: 54px;
	}
	.page-shop-story-date-icon {
		width: 10px;
		height: 12px;
		font-size: 11px;
		margin: 2px 3px 0 2px;
	}
	.page-shop-story-date {
		font-size: 11px;
	}
	.page-shop-story-line {
		margin: 8px 0 0 0;
	}
	.page-shop-story-body {
		margin-top: 24px;
	}
	.page-shop-story-body .page-shop-story-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.page-shop-story-body p + blockquote,
	.page-shop-story-body figure + blockquote,
	.page-shop-story-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.page-shop-story-body blockquote + p,
	.page-shop-story-body blockquote + figure,
	.page-shop-story-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.page-shop-story-body h2 {
		min-height: 40px;
	}
	.page-shop-story-body h2,
	.page-shop-story-body h3,
	.page-shop-story-body h4 {
		margin: 30px 0;
	}
	.page-shop-story-body img {
		margin: 10px 0;
	}
	.page-shop-story-body p + figure,
	.page-shop-story-body p + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.page-shop-story-body p + figure img,
	.page-shop-story-body p + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ p),
	.page-shop-story-body .wp-block-image:has(+ p),
	.page-shop-story-body figure:has(+ .wp-block-paragraph),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.page-shop-story-body figure:has(+ p) img,
	.page-shop-story-body .wp-block-image:has(+ p) img,
	.page-shop-story-body figure:has(+ .wp-block-paragraph) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body h2 + figure,
	.page-shop-story-body h3 + figure,
	.page-shop-story-body h4 + figure,
	.page-shop-story-body h2 + .wp-block-image,
	.page-shop-story-body h3 + .wp-block-image,
	.page-shop-story-body h4 + .wp-block-image,
	.page-shop-story-body .wp-block-heading + .wp-block-image,
	.page-shop-story-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.page-shop-story-body h2 + figure img,
	.page-shop-story-body h3 + figure img,
	.page-shop-story-body h4 + figure img,
	.page-shop-story-body h2 + .wp-block-image img,
	.page-shop-story-body h3 + .wp-block-image img,
	.page-shop-story-body h4 + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2),
	.page-shop-story-body figure:has(+ h3),
	.page-shop-story-body figure:has(+ h4),
	.page-shop-story-body figure:has(+ .wp-block-heading),
	.page-shop-story-body .wp-block-image:has(+ h2),
	.page-shop-story-body .wp-block-image:has(+ h3),
	.page-shop-story-body .wp-block-image:has(+ h4),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2) img,
	.page-shop-story-body figure:has(+ h3) img,
	.page-shop-story-body figure:has(+ h4) img,
	.page-shop-story-body figure:has(+ .wp-block-heading) img,
	.page-shop-story-body .wp-block-image:has(+ h2) img,
	.page-shop-story-body .wp-block-image:has(+ h3) img,
	.page-shop-story-body .wp-block-image:has(+ h4) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:not(.wp-block-image) {
		height: auto;
		aspect-ratio: 760 / 493;
	}
	.page-shop-story-company {
		margin-top: 28px;
	}
	.page-shop-story-company-image-wrap {
		width: 160px;
		height: 160px;
		max-width: 100%;
	}
	.page-shop-story-company-overview {
		font-size: 14px;
	}
	.page-shop-story-writer {
		margin-top: 32px;
		padding-top: 18px;
	}
	.page-shop-story-writer-heading {
		margin-bottom: 14px;
	}
	.page-shop-story-writer-check {
		width: 16px;
		height: 16px;
		background-size: 10px 10px;
	}
	.page-shop-story-writer-title {
		font-size: 13px;
	}
	.page-shop-story-writer-image-wrap {
		width: 100px;
		height: 100px;
		margin: 0 16px 0 0;
	}
	.page-shop-story-writer-about-wrap {
		height: 100px;
	}
	.page-shop-story-writer-about {
		font-size: 10px;
	}
}

/* page-shop-story: 320px */
@media (max-width: 320px) {
	.page-shop-story-inner {
		padding: 20px 10px 36px;
	}
	.page-shop-story-eyecatch {
		height: 200px;
		border-radius: 0 0 8px 8px;
		margin: 0 0 8px 0;
	}
	.page-shop-story-title {
		font-size: 16px;
		margin: 4px 0 0 0;
		min-height: 28px;
	}
	.page-shop-story-subtitle {
		font-size: 16px;
		margin: 0;
		min-height: 48px;
	}
	.page-shop-story-date-icon {
		width: 9px;
		height: 11px;
		font-size: 11px;
		margin: 2px 3px 0 2px;
	}
	.page-shop-story-date {
		font-size: 11px;
		margin: 0;
	}
	.page-shop-story-line {
		margin: 8px 0 0 0;
	}
	.page-shop-story-body {
		margin-top: 22px;
	}
	.page-shop-story-body .page-shop-story-spacer {
		margin: 10px 0 !important;
		min-height: 0;
	}
	.page-shop-story-body p + blockquote,
	.page-shop-story-body figure + blockquote,
	.page-shop-story-body .wp-block-image + blockquote {
		margin-top: 25px;
	}
	.page-shop-story-body blockquote + p,
	.page-shop-story-body blockquote + figure,
	.page-shop-story-body blockquote + .wp-block-image {
		margin-top: 25px;
	}
	.page-shop-story-body h2,
	.page-shop-story-body h3,
	.page-shop-story-body h4 {
		margin: 30px 0;
	}
	.page-shop-story-body img {
		margin: 10px 0;
	}
	.page-shop-story-body p + figure,
	.page-shop-story-body p + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image,
	.page-shop-story-body .wp-block-paragraph + figure {
		margin-top: 20px !important;
	}
	.page-shop-story-body p + figure img,
	.page-shop-story-body p + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + .wp-block-image img,
	.page-shop-story-body .wp-block-paragraph + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ p),
	.page-shop-story-body .wp-block-image:has(+ p),
	.page-shop-story-body figure:has(+ .wp-block-paragraph),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) {
		margin-bottom: 20px !important;
	}
	.page-shop-story-body figure:has(+ p) img,
	.page-shop-story-body .wp-block-image:has(+ p) img,
	.page-shop-story-body figure:has(+ .wp-block-paragraph) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-paragraph) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body h2 + figure,
	.page-shop-story-body h3 + figure,
	.page-shop-story-body h4 + figure,
	.page-shop-story-body h2 + .wp-block-image,
	.page-shop-story-body h3 + .wp-block-image,
	.page-shop-story-body h4 + .wp-block-image,
	.page-shop-story-body .wp-block-heading + .wp-block-image,
	.page-shop-story-body .wp-block-heading + figure {
		margin-top: 0 !important;
	}
	.page-shop-story-body h2 + figure img,
	.page-shop-story-body h3 + figure img,
	.page-shop-story-body h4 + figure img,
	.page-shop-story-body h2 + .wp-block-image img,
	.page-shop-story-body h3 + .wp-block-image img,
	.page-shop-story-body h4 + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + .wp-block-image img,
	.page-shop-story-body .wp-block-heading + figure img {
		margin-top: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2),
	.page-shop-story-body figure:has(+ h3),
	.page-shop-story-body figure:has(+ h4),
	.page-shop-story-body figure:has(+ .wp-block-heading),
	.page-shop-story-body .wp-block-image:has(+ h2),
	.page-shop-story-body .wp-block-image:has(+ h3),
	.page-shop-story-body .wp-block-image:has(+ h4),
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:has(+ h2) img,
	.page-shop-story-body figure:has(+ h3) img,
	.page-shop-story-body figure:has(+ h4) img,
	.page-shop-story-body figure:has(+ .wp-block-heading) img,
	.page-shop-story-body .wp-block-image:has(+ h2) img,
	.page-shop-story-body .wp-block-image:has(+ h3) img,
	.page-shop-story-body .wp-block-image:has(+ h4) img,
	.page-shop-story-body .wp-block-image:has(+ .wp-block-heading) img {
		margin-bottom: 0 !important;
	}
	.page-shop-story-body figure:not(.wp-block-image) {
		height: auto;
		aspect-ratio: 760 / 493;
	}
	.page-shop-story-company {
		margin-top: 24px;
	}
	.page-shop-story-company-image-wrap {
		width: 120px;
		height: 120px;
		max-width: 100%;
	}
	.page-shop-story-company-overview {
		font-size: 13px;
	}
	.page-shop-story-writer {
		margin-top: 28px;
		padding-top: 16px;
	}
	.page-shop-story-writer-heading {
		margin-bottom: 12px;
	}
	.page-shop-story-writer-check {
		width: 14px;
		height: 14px;
		background-size: 9px 9px;
	}
	.page-shop-story-writer-title {
		font-size: 12px;
	}
	.page-shop-story-writer-image-wrap {
		width: 90px;
		height: 90px;
		margin: 0 16px 0 0;
	}
	.page-shop-story-writer-about-wrap {
		height: 90px;
	}
	.page-shop-story-writer-about {
		font-size: 10px;
	}
}

#west {
	scroll-margin-top: 50px;
}

#surrounding-area {
	scroll-margin-top: 50px;
}

#interview {
	scroll-margin-top: 50px;
}

.wp-block-image figcaption {
	font-size: 14px;
	line-height: 1.6;
}
@media (max-width: 840px) {
	.wp-block-image figcaption {
		font-size: 13px;
	}
}
@media (max-width: 425px) {
	.wp-block-image figcaption {
		font-size: 12px;
	}
}
