@charset "utf-8";
/* ■■■■■■■■■■共通■■■■■■■■■■ */
/* -----------------ページ見出し----------------- */
h1.fs-c-heading {
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 20px var(--heading-wave-height);
	border: none;
	color: var(--txt-c-base);
	font-family: var(--ff-mincho);
	font-size: 28px;
	font-weight: 500;
	line-height: 1.7857;
	letter-spacing: 0;
	text-align: center;
}
@media screen and (max-width: 767px) {
	h1.fs-c-heading {
		font-size: 22px;
		line-height: 1.5;
	}
}
/* g-heading */
h1.g-heading {
	padding: var(--sec-spc-half) 0;
}
/* s-txt */
.s-txt {
	display: grid;
}
.s-txt mark {
	background: linear-gradient(transparent 70%, #fff799 30%);
}
.s-txt__list > li {
	position: relative;
	margin-left: 10px;
}
.s-txt__list > li::before {
	content: "";
	display: inline-block;
	background: var(--c-black);
	aspect-ratio: 1/1;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.s-txt__note li {
	position: relative;
	color: var(--txt-c-addon);
}
.s-txt__note li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
.s-txt__order {
	counter-reset: original-counter;
}
.s-txt__order > li::before {
	content: counter(original-counter) ".";
	counter-increment: original-counter;
}
@media screen and (min-width: 768px) {
	.s-txt * {
		font-size: 16px;
		line-height: 2;
	}
	.s-txt p:has(mark) {
		line-height: 2.5;
	}
	.s-txt > p:not(:first-child) {
		margin-top: var(--spc-20);
	}
	.s-txt > * + .s-txt__list {
		margin-top: var(--spc-20);
	}
	.s-txt mark {
		padding: 2px 5px 3px;
	}
	.s-txt__list > li {
		padding-left: 13px;
	}
	.s-txt__list > li::before {
		width: 4px;
		top: 17px;
	}
	.s-txt__note li {
		font-size: var(--fz-12);
		padding-left: 15px;
	}
}
@media screen and (max-width: 767px) {
	.s-txt * {
		font-size: var(--fz-14);
		line-height: 1.8;
	}
	.s-txt p:has(mark) {
		line-height: 2.5;
	}
	.s-txt > p:not(:first-child) {
		margin-top: var(--spc-20);
	}
	.s-txt > * + .s-txt__list {
		margin-top: var(--spc-20);
	}
	.s-txt mark {
		padding: 2px 5px 3px;
	}
	.s-txt__list > li {
		padding-left: 12px;
	}
	.s-txt__list > li::before {
		width: 3px;
		top: 12px;
	}
	.s-txt__note li {
		font-size: var(--fz-12);
		padding-left: 15px;
	}
}
/* s-descWithImg */
.s-descWithImg {
	display: grid;
	gap: var(--sec-spc);
}
.s-descWithImg__desc {
	display: grid;
}
@media screen and (min-width: 768px) {
	.s-descWithImg li {
		display: flex;
		gap: var(--spc-40);
		align-items: flex-start;
	}
	.s-descWithImg--crossList li:nth-child(even) {
		flex-direction: row-reverse;
	}
	.s-descWithImg li > * {
		flex: 1;
	}
	.s-descWithImg__desc {
		gap: var(--spc-30);
	}
}
@media screen and (max-width: 767px) {
	.s-descWithImg li {
		display: grid;
		gap: var(--spc-20);
	}
	.s-descWithImg__desc {
		gap: var(--spc-30);
	}
}
/* ■■■■■■■■■■よくある質問■■■■■■■■■■ */
.s-faq dd:not(:last-child) {
	border-bottom: 1px solid var(--bd-c-gray);
}
.s-faq dt,
.s-faq dd {
	position: relative;
}
.s-faq:last-child dd {
	padding-bottom: 0;
}
.s-faq dt::before,
.s-faq dd::before {
	font-family: var(--ff-en);
	position: absolute;
}
.s-faq dt::before {
	content: "Q";
	color: var(--fs-btn-bg-c-primary);
}
.s-faq dd::before {
	content: "A";
	color: var(--fs-btn-bg-c-primary);
}
@media screen and (min-width: 768px) {
	.s-faq {
		margin-top: 20px;
	}
	.s-faq dd:not(:last-child) {
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.s-faq dt {
		font-size: var(--fz-20);
		padding: 2px 50px 20px 35px;
	}
	.s-faq dd {
		padding: 10px 40px 40px 40px;
	}
	.s-faq dt::before,
	.s-faq dd::before {
		font-size: 17px;
	}
	.s-faq dt::before {
		left: 10px;
		top: -4px;
	}
	.s-faq dd::before {
		left: 12px;
		top: 8px;
	}
}
@media screen and (max-width: 767px) {
	.s-faq {
		margin-top: 20px;
	}
	.s-faq dd:not(:last-child) {
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	.s-faq dt {
		font-size: var(--fz-14);
		padding: 0 10px 10px 35px;
	}
	.s-faq dd {
		padding: 8px 30px 30px 35px;
	}
	.s-faq dt::before,
	.s-faq dd::before {
		font-size: 16px;
	}
	.s-faq dt::before {
		left: 15px;
		top: -5px;
	}
	.s-faq dd::before {
		left: 16px;
		top: 5px;
	}
	.s-faq dd .s-txt {
		line-height: 1.7;
	}
}
/* アコーディオン プラスマイナス */

/* アコーディオン 矢印 */
.s-faq--acc dt {
	position: relative;
}
.s-faq--acc dt span {
	display: inline-block;
	position: relative;
	aspect-ratio: 1/1;
	position: absolute;
}
.s-faq--acc dt span::before {
	content: "";
	display: inline-block;
	--this-mask: var(--data-icon-btn-arrow) no-repeat center center / 100%;
	mask: var(--this-mask);
	-webkit-mask: var(--this-mask);
	background-color: var(--txt-c-base);
	aspect-ratio: 1;
	width: 12px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(90deg);
	transition: 0.3s;
}
.s-faq--acc dt.active span::before {
	transform: translate(-50%, -50%) rotate(270deg);
}
.s-faq--acc dd {
	display: none;
}
@media (hover: hover) {
	.s-faq--acc dt:hover {
		cursor: pointer;
	}
}
@media screen and (min-width: 768px) {
	.s-faq--acc dt:not(:first-child) {
		margin-top: 20px;
	}
	.s-faq--acc dt span {
		width: 30px;
		right: 10px;
		top: 10px;
	}
	.s-faq--acc dt span::before {
		width: 12px;
	}
}
@media screen and (max-width: 767px) {
	.s-faq dt {
		padding-right: 30px;
	}
	.s-faq--acc dt:not(:first-child) {
		margin-top: 10px;
	}
	.s-faq--acc dt span {
		width: 20px;
		right: 5px;
		top: 0px;
	}
	.s-faq--acc dt span::before {
		width: 10px;
	}
}
/* ■■■■■■■■■■お買い物ガイド■■■■■■■■■■ */
.s-guideContents {
	--h2-bgcolor: #f5f5f5;
	--h3-bdcolor: #b4b4b4;
	margin-top: 3px;
	display: grid;
	gap: var(--sec-spc);
}
.s-guideColumn__heading {
	font-weight: 700;
	background-color: var(--h2-bgcolor);
}
.s-guideColumn__ttl {
	font-weight: 500;
	border-bottom: 1px solid var(--h3-bdcolor);
}
.s-guideColumn__subttl {
	font-weight: 500;
	border-left: 2px solid var(--txt-c-base);
}
.s-guideColumn__minittl {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 1.3em;
}
.s-guideColumn__minittl::before {
	content: "";
	width: 10px;
	height: 1.5px;
	background-color: var(--txt-c-base);
	position: absolute;
	left: 0;
}
.s-guideCredit {
	display: flex;
	margin: var(--spc-20) 0;
}
.s-guideCredit .g-payment {
	margin-top: 0;
}
.s-guidePaymentLogo {
	margin: var(--spc-30) 0 var(--spc-20);
}
.s-guideTable {
	width: 100%;
	max-width: 800px;
	border-collapse: collapse;
}
.s-guideTable--bank {
	max-width: 300px;
}
.s-guideTable th,
.s-guideTable td {
	border: 1px solid var(--bd-c-gray);
}
.s-guideTable th {
	font-weight: normal;
}
.s-guideTable th {
	background-color: var(--bg-c-gray);
	padding: 5px 0;
	font-size: var(--fz-12);
}
.s-guideTable tbody th,
.s-guideTable tbody td {
	text-align: center;
}
.s-guideNav__item li.is-current a {
	color: var(--txt-c-emphasis);
}
.s-guideContents .bgcolor--gray {
	padding: var(--spc-20);
}
.s-guideContents .bgcolor--gray.is-widthFitContent {
	width: fit-content;
}
@media screen and (min-width: 901px) {
	.s-guideContainer {
		display: grid;
		grid-template-columns: 230px 1fr;
		align-items: flex-start;
		gap: clamp(80px, 8.5vw, 100px);
	}
	.s-guideNav {
		position: sticky;
		top: 105px;
		left: 0;
	}
	.s-guideNav__item {
		display: grid;
		gap: 15px;
	}
	.s-guideNav__item li a {
		font-size: var(--fz-16);
		display: block;
		padding-bottom: 7px;
		position: relative;
	}
	.s-guideNav__item li a::after {
		content: "";
		display: inline-block;
		background-color: var(--txt-c-emphasis);
		width: 100%;
		height: 1px;
		position: absolute;
		bottom: -3px;
		left: 0;
		transform: scaleX(0);
		transform-origin: right;
		transition: transform 0.3s;
	}
	.s-guideNav__item li.is-current a::after {
		transform: scaleX(1);
		transform-origin: left;
	}
}
@media screen and (max-width: 900px) {
	.s-guideNav {
		--guide-nav-sp-box: 300px;
		--guide-nav-sp-box-trigger: 40px;
		position: fixed;
		right: calc(0px - var(--guide-nav-sp-box) + var(--guide-nav-sp-box-trigger));
		top: 150px;
		display: flex;
		width: var(--guide-nav-sp-box);
		transition: 0.5s;
		z-index: 99;
		opacity: 0;
	}
	.s-guideNav.active {
		right: 0;
	}
	.s-guideNav__spTrigger {
		width: var(--guide-nav-sp-box-trigger);
		height: 200px;
		background-color: rgba(225, 225, 225, 0.533);
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 5px 0 0 5px;
		border: 1px solid var(--bd-c-gray);
		border-right: none;
		transition: 0.3s;
	}
	.s-guideNav.active .s-guideNav__spTrigger {
		background-color: var(--c-white);
	}
	.s-guideNav__spTrigger::after {
		content: "目次";
		writing-mode: vertical-rl;
	}
	.s-guideNav__item {
		flex: 1;
		background-color: var(--c-white);
		border: 1px solid var(--bd-c-gray);
	}
	.s-guideNav__item li:not(:last-child) {
		border-bottom: 1px solid var(--bd-c-gray);
	}
	.s-guideNav__item li a {
		display: block;
		padding: 8px 15px;
		font-size: 13px;
	}
}
@media screen and (min-width: 768px) {
	.s-guideColumn__heading {
		font-size: var(--fz-20);
		padding: 10px 15px;
		margin-bottom: var(--spc-50);
	}
	.s-guideColumn__ttl {
		font-size: var(--fz-18);
		padding: 0 0 10px 10px;
		margin: var(--spc-50) 0 var(--spc-20);
	}
	.s-guideColumn__heading + .s-guideColumn__ttl {
		margin-top: var(--spc-50);
	}
	.s-guideCredit {
		max-width: 350px;
	}
	.s-guidePaymentLogo--AmazonPay {
		width: 180px;
	}
	.s-guidePaymentLogo--PayPay {
		width: 130px;
	}
	.s-guidePaymentLogo--rakutenPay {
		width: 150px;
	}
	.s-guideTable {
		margin-top: var(--spc-20);
	}
	.s-guideTable tbody th,
	.s-guideTable tbody td {
		padding: 7px 20px;
		font-size: var(--fz-12);
	}
	.s-guideColumn__subttl {
		font-size: var(--fz-16);
		margin-block: var(--spc-40) var(--spc-20);
		padding-left: 10px;
	}
	.s-guideColumn__minittl {
		font-size: var(--fz-16);
		margin-block: var(--spc-30) var(--spc-10);
	}
	.s-guideColumn__minittl::before {
		top: 13px;
	}
}
@media screen and (max-width: 767px) {
	.s-guideColumn__heading {
		font-size: 16px;
		padding: 10px;
		margin-bottom: 30px;
	}
	.s-guideColumn__ttl {
		font-size: 15px;
		padding: 7px 10px;
		margin-block: 30px 10px;
	}
	.s-guidePaymentLogo--AmazonPay {
		width: 150px;
	}
	.s-guidePaymentLogo--PayPay {
		width: 120px;
	}
	.s-guidePaymentLogo--rakutenPay {
		width: 120px;
	}
	.s-guideTable {
		margin-top: var(--spc-20);
	}
	.s-guideTable tbody th,
	.s-guideTable tbody td {
		padding: 5px 15px;
		font-size: var(--fz-12);
	}
	.s-guideColumn__subttl {
		font-size: 15px;
		margin-block: 25px 10px;
		padding-left: 10px;
	}
	.s-guideColumn__minittl {
		font-size: 14px;
		margin-block: 20px 8px;
	}
	.s-guideColumn__minittl::before {
		top: 10px;
	}
}
/* タイムテーブル */
.s-timeTable {
	width: 95%;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
	gap: 7px;
}
.s-timeTable__dial {
	--size: 100%;
	--bg: #e3e3e3;
	--accent: var(--theme-c-main);
	--ring: 0px;
	--start-time: 9;
	--end-time: 12.5;
	--wrap: 0;
	--start-deg: calc(var(--start-time) * 30deg);
	--span-deg: calc(((var(--end-time) - var(--start-time)) + (var(--wrap) * 12)) * 30deg);
	--this-mask: radial-gradient(circle, transparent max(0px, var(--ring) - 1px), #000 max(0px, var(--ring)));

	inline-size: var(--size);
	mask: var(--this-mask);
	-webkit-mask: var(--this-mask);
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: var(--bg);
	background-image: conic-gradient(
		from calc(var(--start-deg) - 0deg),
		var(--accent) 0 var(--span-deg),
		transparent var(--span-deg) 1turn
	);
	display: grid;
	place-items: center;
	position: relative;
}

.s-timeTable__chip {
	display: inline-block;
	padding: 0.1em 0.2em;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.9);
	color: #1a1a1a;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	white-space: nowrap;
	font-size: 10px;
	letter-spacing: 0.03em;
}
/* ------------------  -------------------- */
/* ■■■■■■■■■■なごみやについて■■■■■■■■■■ */
.f-about {
	position: relative;
	isolation: isolate;
	background-color: var(--bg-c-beige);
	color: var(--txt-c-base);
	font-family: var(--ff-base);
	font-feature-settings: normal;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
	#fs_CustomPage main > .f-about {
		width: calc(100% + 20px);
		margin-left: -20px;
		padding-block-end: 120px;
	}
}
@media screen and (max-width: 767px) {
	#fs_CustomPage main > .f-about {
		padding-block-end: 50px;
	}
}
.f-about::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: calc(346px + var(--heading-wave-height));
	left: 0;
	width: 100%;
	height: 875px;
	background: linear-gradient(var(--c-white), transparent);
	pointer-events: none;
}
.f-aboutPage .g-headerCategory {
	display: none;
}
nav.fs-c-breadcrumb:has(+ main > .f-about) {
	position: relative;
	z-index: 2;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: visible;
	background: none;
}
nav.fs-c-breadcrumb:has(+ main > .f-about) .fs-c-breadcrumb__list {
	position: relative;
	top: 23px;
	width: calc(100% - 40px);
	max-width: 1300px;
	line-height: 18px;
}
nav.fs-c-breadcrumb:has(+ main > .f-about) :is(li, a) {
	font-family: var(--ff-base);
	font-size: 12px;
	font-weight: 500;
	font-feature-settings: normal;
	letter-spacing: 0.05em;
}
.f-aboutWave {
	background-color: var(--c-white);
}
.f-aboutHero {
	position: relative;
	isolation: isolate;
	min-height: calc(346px + var(--heading-wave-height));
	background: var(--c-white);
}
.f-aboutHeroVisual {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: var(--bg-c-beige);
	pointer-events: none;
	/* 共通の波形で写真と加飾を一緒に切り抜く。XD: 1440px幅で下端50px。 */
	--this-mask: linear-gradient(#000, #000) top / 100% calc(100% - var(--heading-wave-height)) no-repeat,
		var(--data-wave) bottom / 100% var(--heading-wave-height) no-repeat;
	mask: var(--this-mask);
	-webkit-mask: var(--this-mask);
}
.f-aboutHeroVisual::after {
	z-index: 2;
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 86px;
	height: 405px;
	background: linear-gradient(to right, #dddacb, rgb(222 219 204 / 0));
	pointer-events: none;
}
@media screen and (min-width: 1441px) {
	.f-aboutHeroVisual::after {
		width: calc((100% - 1440px) / 2 + 86px);
		background: linear-gradient(
			to right,
			#dddacb 0 calc(100% - 86px),
			rgb(222 219 204 / 0) 100%
		);
	}
}
.f-aboutHeroVisual::before {
	z-index: 1;
	content: "";
	position: absolute;
	inset: 0 auto auto max(0px, calc((100% - 1440px) / 2));
	width: 600px;
	height: 405px;
	/* XDの写真レイヤー書き出し: viewBox 87.752 78.144 424.495 286.534。 */
	background: url("../images/about/history-store.jpg") center / 141.344285% auto no-repeat;
	box-shadow: inset 0 0 0 1px #707070;
	opacity: 0.148628;
	mask-image: linear-gradient(to right, #000 70%, transparent);
	-webkit-mask-image: linear-gradient(to right, #000 70%, transparent);
	pointer-events: none;
}
.f-aboutHeroInner,
.f-aboutInner {
	position: relative;
	width: var(--inner-w);
	max-width: 900px;
	margin-inline: auto;
}
.f-aboutHeroInner {
	z-index: 1;
	width: calc(100% - 40px);
	max-width: 650px;
	padding-top: 90px;
}
.f-aboutHeroInner > .g-heading {
	max-width: 600px;
	margin: 0 auto;
	padding: 0;
	font-size: 28px;
	line-height: 50px;
	letter-spacing: 0;
	text-align: center;
}
.f-aboutHeroBreak {
	display: none;
}
.f-aboutHeroText {
	margin-top: 20px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.75;
}
.f-aboutSection {
	padding-bottom: 120px;
}
.f-aboutSection h2.g-heading {
	width: var(--inner-w);
	margin: 0 auto 39px;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
}
.f-about .g-heading__sub {
	display: table;
	margin-inline: auto;
	padding-bottom: 2px;
	border-bottom: 1px solid currentColor;
	font-family: var(--ff-base);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5714;
	letter-spacing: 0.05em;
}
.f-about .g-heading__main {
	line-height: 1.4;
	margin-top: 10px;
}
.f-aboutMessage {
	padding-top: 124px;
	padding-bottom: 123px;
}
.f-aboutPhilosophy {
	padding-bottom: 90px;
}
.f-aboutPhilosophy h2.g-heading {
	margin-bottom: 32px;
}
.f-aboutPhilosophy .f-aboutIntro {
	margin-bottom: 26px;
}
.f-aboutMessageBody,
.f-aboutValue {
	display: grid;
	grid-template-columns: minmax(0, 600px) minmax(0, 250px);
	align-items: start;
	gap: 50px;
}
.f-aboutLead,
.f-aboutValue h3,
.f-aboutTimeline h3 {
	font-family: var(--ff-mincho);
	font-size: 28px;
	line-height: 1.5;
	letter-spacing: 0;
}
.f-aboutLead {
	margin-bottom: 34px;
}
.f-aboutProductsBreak {
	display: none;
}
.f-aboutContactBreak {
	display: none;
}
.f-aboutMessageContent,
.f-aboutIntro,
.f-aboutPrinciple,
.f-aboutWasoul,
.f-aboutTimeline,
.f-aboutValue {
	font-size: 16px;
	line-height: 1.75;
}
.f-aboutMessageContent p + p {
	margin-top: 1em;
}
.f-aboutMessagePortrait img,
.f-aboutValueImage,
.f-aboutStaffPhoto {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	background-color: var(--c-gray-250);
}
.f-aboutMessagePortrait figcaption {
	font-family: var(--ff-mincho);
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	margin-block-start: 12px;
}
.f-aboutIntro {
	width: 750px;
	max-width: 100%;
	margin: 0 auto 36px;
}
.f-aboutPrinciples {
	display: grid;
	gap: 30px;
	width: 750px;
	max-width: 100%;
	margin-inline: auto;
}
.f-aboutPrinciple {
	padding: 33px 50px 35px;
	background-color: var(--c-white);
}
.f-aboutPrincipleTitle {
	display: grid;
	grid-template-columns: 139px minmax(0, 1fr);
	align-items: center;
	margin-left: -30px;
}
.f-aboutPrincipleTitle span {
	color: var(--theme-c-main);
	font-family: var(--ff-mincho);
	font-size: 50px;
	line-height: 1.2;
	letter-spacing: 0;
}
.f-aboutPrincipleTitle h3 {
	font-family: var(--ff-base);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
}
.f-aboutPrincipleTitle h3,
.f-companyPhilosophyTitle h3 {
	display: flex;
	align-items: flex-start;
	column-gap: 0.35em;
	font-weight: 500;
}
.f-aboutPrincipleTitle h3::before,
.f-companyPhilosophyTitle h3::before {
	content: "－";
	flex: 0 0 1em;
}
.f-aboutPrinciple > p {
	margin-top: 24px;
}
.f-aboutPrinciple:nth-child(1),
.f-aboutPrinciple:nth-child(4) {
	min-height: 338px;
}
.f-aboutPrinciple:nth-child(2) {
	min-height: 363px;
}
.f-aboutPrinciple:nth-child(3) {
	min-height: 371px;
}
.f-aboutProductsSlider {
	width: 100%;
	opacity: 1 !important;
	visibility: visible;
}
.f-aboutProducts h2.g-heading {
	margin-bottom: 30px;
}
.f-aboutProductsSlider .splide__track {
	overflow: hidden;
}
.f-aboutProductsSlider.is-static .splide__track {
	overflow: visible;
}
.f-aboutProductsSlider.is-static .splide__list {
	display: flex !important;
	justify-content: center;
	gap: 20px;
	transform: none !important;
}
.f-aboutProductsSlider.is-static .splide__slide {
	flex: none;
	margin: 0 !important;
}
.f-aboutProductsSlider .splide__slide {
	width: 144px;
	border-radius: 12px;
	overflow: hidden;
}
.f-aboutProductsSlider img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	transition: transform 0.3s ease;
}
@media (hover: hover) {
	.f-aboutProductsSlider .splide__slide:hover img {
		transform: scale(1.08);
	}
}
.f-aboutProductsSlider .g-splideArrow--prev {
	left: 0;
}
.f-aboutProductsSlider .g-splideArrow--next {
	right: 0;
}
.f-aboutProductsSummary {
	width: var(--inner-w);
	margin: 30px auto 0;
	font-size: 18px;
	line-height: 2.6667;
	text-align: center;
}
.f-aboutProductsSummary strong {
	padding: 4px 0px 4px 8px;
	margin-inline-end: 8px;
	background-color: var(--c-white);
	color: var(--theme-c-main);
	font-weight: 500;
}
.f-aboutProductsSummary .f-aboutProductsSummaryShipping {
	padding-inline: 6px;
}
.f-aboutWasoul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 30px 40px;
	width: var(--inner-w);
	max-width: 900px;
	margin: 52px auto 0;
	padding: 40px 50px 45px;
	background-color: var(--c-white);
}
.f-aboutWasoul > .g-heading {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 24px;
	line-height: 1.5;
	text-align: center;
}
.f-aboutWasoul img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 380 / 253;
	object-fit: cover;
}
.f-aboutWasoul .g-btnContainer {
	grid-column: 1 / -1;
	gap: 20px;
	margin: 0;
}
.f-aboutWasoul .g-btn {
	max-width: 260px;
}
.f-aboutHistory,
.f-aboutValues {
	padding-top: 120px;
	background: linear-gradient(var(--c-white), transparent 600px);
}
.f-aboutHistory {
	padding-top: 127px;
	padding-bottom: 87px;
}
.f-aboutHistory h2.g-heading {
	margin-bottom: 80px;
}
.f-aboutTimeline {
	position: relative;
	display: grid;
	gap: 60px;
	padding: 130px 78px 128px 322px;
	background-color: var(--c-white);
}
.f-aboutTimeline::before {
	content: "";
	position: absolute;
	top: 100px;
	bottom: 100px;
	left: 283px;
	width: 2px;
	background: linear-gradient(var(--c-black), transparent);
}
.f-aboutTimeline > li {
	position: relative;
	min-width: 0;
}
.f-aboutTimeline > li::before {
	content: "";
	position: absolute;
	top: 17px;
	left: -44px;
	width: 12px;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: var(--theme-c-main);
}
.f-aboutTimeline time {
	position: absolute;
	top: 2px;
	right: calc(100% + 58px);
	width: 210px;
	color: var(--theme-c-main);
	font-family: var(--ff-mincho);
	font-size: 25px;
	line-height: 1.6;
	letter-spacing: 0;
	text-align: right;
}
.f-aboutTimeline h3 {
	margin-bottom: 10px;
}
.f-aboutTimelineEvent {
	margin-top: 0;
	font-size: 20px;
	line-height: 1.5;
}
.f-aboutTimelineEvent + p {
	margin-top: 19px;
}
.f-aboutTimeline dl {
	display: grid;
	gap: 19px;
	margin-top: 16px;
}
.f-aboutTimeline dd {
	font-size: 20px;
	letter-spacing: 0;
}
.f-aboutValueList {
	display: grid;
	gap: 40px;
}
.f-aboutValues h2.g-heading {
	margin-bottom: 42px;
}
.f-aboutValue h3 {
	margin-bottom: 14px;
}
.f-aboutStaff .f-aboutInner {
	max-width: 1200px;
}
.f-aboutStaff {
	padding-bottom: 0;
}
.f-aboutStaff h2.g-heading {
	margin-bottom: 33px;
}
.f-aboutStaff .f-aboutIntro {
	margin-bottom: 26px;
}
.f-aboutStaffList {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 40px;
}
.f-aboutStaffList > li {
	display: grid;
	grid-template-columns: 106px minmax(0, 1fr);
	align-items: start;
	gap: 30px;
	box-sizing: border-box;
	height: 217px;
	padding: 33px 30px 31px;
	background-color: var(--c-white);
}
.f-aboutStaffProfile {
	text-align: center;
}
.f-aboutStaffRole {
	margin-top: 8px;
	font-size: 11px;
	line-height: 1.32;
}
.f-aboutStaffList h3 {
	font-size: 16px;
	font-weight: var(--fw-base);
	line-height: 1.4;
	margin-block-start: 2px;
}
.f-aboutStaffText {
	font-size: 14px;
}
.f-aboutContact {
	width: var(--inner-w);
	max-width: 1100px;
	margin-inline: auto;
	padding-block-start: 60px;
	text-align: center;
}
.f-aboutContact > p {
	font-family: var(--ff-mincho);
	font-size: 20px;
	line-height: 1.5;
}
.f-aboutContact .g-btnContainer {
	margin-top: 60px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.f-aboutMessageBody,
	.f-aboutValue {
		grid-template-columns: minmax(0, 1fr) 220px;
		gap: 30px;
	}
	.f-aboutTimeline {
		padding-inline: 260px 40px;
	}
	.f-aboutTimeline::before {
		left: 221px;
	}
	.f-aboutTimeline h3 {
		font-size: 24px;
	}
	.f-aboutStaffList {
		gap: 20px;
	}
	.f-aboutStaffList > li {
		gap: 20px;
		padding-inline: 20px;
	}
}
@media screen and (max-width: 767px) {
	.f-aboutProductsSlider.is-static .splide__list {
		gap: 10px;
	}
	.f-aboutProductsSlider.is-static .splide__slide {
		width: 58%;
	}
	.f-about {
		overflow: hidden;
	}
	.f-about::before {
		display: none;
	}
	.f-aboutHero {
		min-height: calc(496px + var(--heading-wave-height));
	}
	nav.fs-c-breadcrumb:has(+ main > .f-about) .fs-c-breadcrumb__list {
		top: 10px;
	}
	nav.fs-c-breadcrumb:has(+ main > .f-about) :is(li, a) {
		font-size: 10px;
	}
	.f-aboutHeroVisual::after {
		display: none;
	}
	.f-aboutHeroVisual::before {
		inset: auto auto -6px -41px;
		width: calc(100% + 97px);
		height: 275px;
		/* 375pxではXDの中央配置を維持し、幅が広がる分だけ写真を下げる。 */
		background-position: center calc(50% + max(0px, (100vw - 375px) * 0.25));
		mask-image: linear-gradient(transparent, #000 77px);
		-webkit-mask-image: linear-gradient(transparent, #000 77px);
	}
	.f-aboutHeroInner {
		padding-top: 52px;
	}
	.f-aboutHeroInner > .g-heading {
		font-size: 22px;
		font-weight: 600;
		line-height: 36px;
	}
	.f-aboutHeroBreak {
		display: inline;
	}
	.f-aboutHeroText {
		width: 300px;
		max-width: 100%;
		margin: 16px auto 0;
		font-size: 14px;
		color: #404040;
		line-height: 22px;
	}
	.f-aboutHeroTextBreak {
		display: none;
	}
	.f-aboutSection {
		padding-bottom: 60px;
	}
	.f-aboutSection h2.g-heading {
		width: 100%;
		margin-bottom: 30px;
		font-size: 20px;
	}
	.f-aboutProducts > h2.g-heading {
		width: var(--inner-w);
	}
	.f-aboutMessage {
		padding-top: 49px;
		background-image: linear-gradient(to bottom, var(--c-white), transparent 500px);
	}
	.f-aboutMessageBody,
	.f-aboutValue {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	.f-aboutLead,
	.f-aboutValue h3,
	.f-aboutTimeline h3 {
		font-size: 21px;
	}
	.f-aboutLead {
		margin-bottom: 20px;
	}
	.f-aboutMessageContent,
	.f-aboutIntro,
	.f-aboutPrinciple,
	.f-aboutWasoul,
	.f-aboutTimeline,
	.f-aboutValue {
		font-size: 14px;
	}
	.f-aboutMessageContent p + p {
		margin-top: 1em;
	}
	.f-aboutMessagePortrait,
	.f-aboutValueImage {
		width: min(250px, 75%);
		margin-inline: auto;
	}
	.f-aboutMessagePortrait figcaption {
		font-size: 14px;
		line-height: 2;
	}
	.f-aboutIntro {
		margin-bottom: 30px;
	}
	.f-aboutIntro br,
	.f-aboutProductsSummary br {
		display: none;
	}
	.f-aboutPrinciple,
	.f-aboutPrinciple:nth-child(n) {
		min-height: 0;
		padding: 25px 22px;
	}
	.f-aboutPrinciples {
		gap: 20px;
	}
	.f-aboutPrincipleTitle {
		grid-template-columns: 92px minmax(0, 1fr);
		margin-left: -15px;
	}
	.f-aboutPrincipleTitle span {
		font-size: 34px;
		line-height: 1.3;
	}
	.f-aboutPrincipleTitle h3 {
		font-size: 17px;
		line-height: 1.6;
	}
	.f-aboutPrinciple > p {
		margin-top: 20px;
	}
	.f-aboutProductsSummary {
		margin-top: 30px;
		font-size: 14px;
		line-height: 2.2;
	}
	.f-aboutWasoul {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-top: 35px;
		padding: 30px 20px;
	}
	.f-aboutWasoul > img {
		order: 1;
	}
	.f-aboutWasoulText {
		order: 2;
	}
	.f-aboutWasoul .g-btnContainer {
		order: 3;
		flex-direction: column;
		align-items: center;
	}
	.f-aboutWasoul .g-btn {
		width: 100%;
		min-width: 0;
	}
	.f-aboutHistory,
	.f-aboutValues {
		padding-top: 60px;
	}
	.f-aboutHistory h2.g-heading {
		margin-bottom: 30px;
	}
	.f-aboutTimeline {
		gap: 40px;
		padding: 40px 20px 40px 48px;
	}
	.f-aboutTimeline::before {
		top: 40px;
		bottom: 40px;
		left: 24px;
	}
	.f-aboutTimeline > li::before {
		top: 10px;
		left: -29px;
		width: 12px;
	}
	.f-aboutTimeline time {
		position: static;
		display: block;
		width: auto;
		margin-bottom: 8px;
		font-size: 20px;
		line-height: 1.5;
		text-align: left;
	}
	.f-aboutTimeline h3 {
		margin-bottom: 12px;
	}
	.f-aboutTimelineEvent,
	.f-aboutTimeline dd {
		font-size: 16px;
	}
	.f-aboutStaff {
		padding-bottom: 0;
	}
	.f-aboutStaffList {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.f-aboutStaffList > li {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 20px;
		height: auto;
		padding: 25px 20px;
	}
	.f-aboutStaffText {
		max-height: none;
	}
	.f-aboutContact {
		padding-block-start: 30px;
	}
	.f-aboutContact > p {
		font-size: 16px;
	}
	.f-aboutContact .g-btnContainer {
		margin-top: 30px;
	}
}
@media screen and (max-width: 480px) {
	.f-aboutLead {
		letter-spacing: -0.05em;
	}
	.f-aboutProductsBreak {
		display: initial;
	}
}
@media screen and (max-width: 540px) {
	.f-aboutContactBreak {
		display: initial;
	}
}

/* 会社概要 — ngm_ec01_261019.xd */
.f-company {
	background-color: var(--bg-c-beige);
	color: var(--txt-c-base);
	font-family: var(--ff-base);
	font-feature-settings: normal;
	letter-spacing: 0.05em;
}
.f-companyPage .g-headerCategory {
	display: none;
}
.fs-c-breadcrumb:has(+ main > :is(.f-company, .f-about, .s-guideContainer)) {
	margin: 0;
	padding-block: 10px 0;
	background-color: var(--bg-c-beige);
	line-height: 1.5;
}
.fs-c-breadcrumb:has(+ main > :is(.f-company, .f-about, .s-guideContainer)) .fs-c-breadcrumb__list {
	max-width: 1300px;
}
main > .fs-c-heading.fs-c-heading--page:has(+ :is(.f-company, .f-about, .s-guideContainer)) {
	min-height: calc(140px + var(--heading-wave-height));
}
main > .fs-c-heading.fs-c-heading--page:has(+ .f-company) {
	min-height: calc(162px + var(--heading-wave-height));
}
.f-companySection {
	position: relative;
}
.f-companyInner {
	width: var(--inner-w);
	max-width: 900px;
	margin-inline: auto;
}
.f-companySection .g-heading {
	margin-block: 0 30px;
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
}
.f-company .g-heading__sub {
	display: table;
	margin-inline: auto;
	padding-bottom: 2px;
	border-bottom: 1px solid currentColor;
	font-family: var(--ff-base);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5714;
	letter-spacing: 0.05em;
}
.f-company .g-heading__main {
	margin-top: 11px;
}
.f-companyMessage {
	padding-block: 96px;
	background-image: linear-gradient(to bottom, var(--c-white), transparent 875px);
}
.f-companyMessage .g-heading {
	margin-bottom: 39px;
}
.f-companyMessageImages .splide__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 480px) {
	.f-companyMessageImages .splide__list {
		display: flex;
	}
}
.f-companyMessageImages figure {
	position: relative;
}
.f-companyMessageImages img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 9 / 8;
	object-fit: cover;
}
.f-companyMessageImages figure:nth-child(2) img {
	object-position: 12% center;
}
.f-companyMessageText {
	width: 850px;
	max-width: 100%;
	margin: 30px auto 0;
	font-size: 16px;
	line-height: 1.75;
}
.f-companyMessageText p + p {
	margin-top: 28px;
}
.f-companyPhilosophy,
.f-companyHistory {
	padding-bottom: 120px;
}
.f-companyPhilosophyList {
	display: grid;
	gap: 30px;
	width: 750px;
	max-width: 100%;
	margin-inline: auto;
}
.f-companyPhilosophyItem {
	padding: 33px 50px 35px;
	background-color: var(--c-white);
	font-size: 16px;
	line-height: 1.75;
}
.f-companyPhilosophyTitle {
	display: grid;
	grid-template-columns: 139px minmax(0, 1fr);
	align-items: center;
	gap: 0;
	margin-left: -30px;
	font-family: var(--ff-base);
	font-weight: 500;
}
.f-companyPhilosophyTitle span {
	color: var(--theme-c-main);
	font-family: var(--ff-mincho);
	font-size: 50px;
	line-height: 1.2;
	letter-spacing: 0;
}
.f-companyPhilosophyTitle h3 {
	font-family: var(--ff-base);
	font-size: 20px;
	line-height: 1.5;
}
.f-companyPhilosophyTitleBreak {
	display: none;
}
@media screen and (max-width: 480px) {
	.f-companyPhilosophyTitleBreak {
		display: initial;
	}
}
.f-companyPhilosophyItem > p {
	margin-top: 24px;
}
.f-companyPhilosophyItem:nth-child(1),
.f-companyPhilosophyItem:nth-child(4) {
	min-height: 338px;
}
.f-companyPhilosophyItem:nth-child(2) {
	min-height: 363px;
}
.f-companyPhilosophyItem:nth-child(3) {
	min-height: 371px;
}
.f-companyDataList {
	width: 750px;
	max-width: 100%;
	margin-inline: auto;
	padding: 0;
	background-color: var(--c-white);
}
.f-companyDataList > div {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 40px;
	align-items: center;
	min-height: 99px;
	padding: 18px 0 18px 50px;
}
.f-companyDataList > div + div {
	border-top: 2px solid #e8e7e2;
}
.f-companyHistory .f-companyDataList > div:first-child {
	min-height: 140px;
}
.f-companyHistory .f-companyDataList > div:last-child {
	min-height: 119px;
}
.f-companyDataList dt {
	font-size: 20px;
	line-height: 1.5;
}
.f-companyDataList dt small {
	font-size: 16px;
	line-height: 1.875;
}
.f-companyDataList__date {
	display: none;
}
@media screen and (min-width: 768px) {
	.f-companyDataList dt .f-companyDataList__year {
		font-size: 20px;
	}
	.f-companyDataList dt .f-companyDataList__era {
		margin-inline-start: -1em;
	}
}
.f-companyDataList dd {
	font-size: 16px;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.f-companyBusiness {
	padding-block: 120px;
}
.f-companyBusiness .f-companyInner {
	position: relative;
}
.f-companyBusiness .g-heading {
	margin-bottom: 30px;
}
.f-companyBusinessCard {
	position: relative;
	box-sizing: border-box;
	width: 750px;
	max-width: 100%;
	min-height: 493px;
	margin-inline: auto;
	padding: 40px 50px;
	background-color: var(--c-white);
}
.f-companyBusinessLead {
	width: 650px;
	max-width: 100%;
	color: #242424;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0.05em;
}
.f-companyBusinessCases {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	width: 650px;
	max-width: 100%;
	height: 125px;
	margin-top: 26px;
}
.f-companyBusinessCases > li {
	box-sizing: border-box;
	height: 125px;
	padding: 23px 20px;
	background-color: #f0eee6;
}
.f-companyBusinessCases h3 {
	color: var(--theme-c-main);
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.f-companyBusinessCases p {
	margin-top: 5px;
	color: #242424;
	font-size: 15px;
	line-height: 1.75;
	letter-spacing: 0.05em;
}
.f-companyBusinessContact {
	width: 406px;
	max-width: 100%;
	min-height: 91px;
	margin: 30px auto 0;
}
.f-companyBusinessContactTitle {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.f-companyBusinessContactTitle::before {
	content: "";
	flex: 0 0 auto;
	width: 22px;
	aspect-ratio: 20.219 / 20;
	background: url("../images/common/tob-contact-head-icon.svg") center / contain no-repeat;
}
.f-companyBusinessContactText {
	margin-top: 11px;
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.05em;
}
.f-companyBusinessCard .g-btnContainer {
	margin-top: 25px;
}

.f-companyBusiness .toBcServiceImg {
	pointer-events: none;
	z-index: 1;
	position: absolute;
	inset: 0;
}
.f-companyBusiness .toBcServiceImg .fs-pt-column__item {
	position: absolute;
	right: 68px;
	bottom: -92px;
	width: 186px;
}
@media screen and (max-width: 767px) {
	.f-companyBusiness .toBcServiceImg .fs-pt-column__item {
		right: -20px;
		bottom: -80px;
		width: 103px;
	}
}

.f-companyBusiness .toBcServiceImg .fs-pt-column__heading {
	display: none;
}
.f-companyBusiness .toBcServiceImg .fs-pt-column__image,
.f-companyBusiness .toBcServiceImg img {
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (max-width: 480px) {
	.f-companyDataList dd {
		letter-spacing: 0;
	}
}
.f-companyProfileList > div:last-child {
	align-items: start;
	min-height: 358px;
	padding-top: 34px;
	padding-bottom: 32px;
}
.f-companyProfileList dd ol {
	margin-top: 14px;
	line-height: 32px;
}
.f-companyProfileList dd ol > li:not(:last-child) {
	position: relative;
	width: fit-content;
	max-width: 100%;
}
.f-companyProfileList dd ol > li:not(:last-child)::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	height: 1px;
	background-color: #e8e7e2;
}
@media screen and (min-width: 768px) {
	.f-companyProfileList dd ol {
		font-size: 15px;
	}
}
@media screen and (max-width: 767px) {
	.f-company {
		font-weight: var(--fw-base);
	}
	.f-companyBusiness {
		padding-block: 60px 110px;
	}
	.f-companyBusiness .g-heading {
		padding-inline: 20px;
	}
	.f-companyBusinessCard {
		width: 100%;
		min-height: 0;
		padding: 30px 20px 40px;
	}
	.f-companyBusinessLead {
		width: 100%;
		font-size: 14px;
		line-height: 1.8;
	}
	.f-companyBusinessLead br {
		display: none;
	}
	.f-companyBusinessCases {
		grid-template-columns: 1fr;
		gap: 15px;
		width: 100%;
		height: auto;
		margin-top: 25px;
	}
	.f-companyBusinessCases > li {
		height: auto;
		min-height: 100px;
		padding: 18px 20px;
	}
	.f-companyBusinessCases p {
		font-size: 14px;
	}
	.f-companyBusinessCases h3 {
		font-size: 16px;
	}
	.f-companyBusinessContact {
		width: 100%;
		min-height: 0;
		margin-top: 25px;
	}
	.f-companyBusinessContactTitle {
		font-size: 17px;
	}
	.f-companyBusinessContactText {
		margin-top: 6px;
		font-size: 14px;
	}
	.f-companyBusinessCard .g-btnContainer {
		margin-top: 25px;
	}
	.fs-c-breadcrumb:has(+ main > :is(.f-company, .f-about, .s-guideContainer)) {
		padding-top: 10px;
	}
	.fs-c-breadcrumb:has(+ main > :is(.f-company, .f-about, .s-guideContainer))::after {
		background: linear-gradient(270deg, var(--bg-c-beige) 21.11%, transparent);
	}
	main > .fs-c-heading.fs-c-heading--page:has(+ :is(.f-company, .f-about, .s-guideContainer)) {
		min-height: calc(130px + var(--heading-wave-height));
	}
	.f-companyInner {
		max-width: none;
	}
	.f-companySection .g-heading {
		margin-bottom: 30px;
		font-size: 20px;
	}
	.f-company .g-heading__sub {
		font-size: 12px;
		line-height: 1.6667;
	}
	.f-company .g-heading__main {
		margin-top: 10px;
	}
	.f-companyMessage .g-heading__main {
		font-size: 22px;
	}
	.f-companyMessage {
		padding-block: 60px;
		background-image: linear-gradient(to bottom, var(--c-white), transparent 520px);
	}
	.f-companyMessageText {
		margin-top: 30px;
		font-size: 14px;
	}
	.f-companyMessageText p + p {
		margin-top: 20px;
	}
	.f-companyPhilosophy,
	.f-companyHistory {
		padding-bottom: 60px;
	}
	.f-companyPhilosophyList {
		gap: 15px;
	}
	.f-companyPhilosophyItem,
	.f-companyPhilosophyItem:nth-child(1),
	.f-companyPhilosophyItem:nth-child(2),
	.f-companyPhilosophyItem:nth-child(3),
	.f-companyPhilosophyItem:nth-child(4) {
		min-height: 0;
		padding: 25px 22px;
		font-size: 14px;
	}
	.f-companyPhilosophyTitle {
		grid-template-columns: 92px minmax(0, 1fr);
		margin-left: -15px;
	}
	.f-companyPhilosophyTitle span {
		font-size: 34px;
		line-height: 1.3;
	}
	.f-companyPhilosophyTitle h3 {
		padding-top: 0;
		font-size: 17px;
	}
	.f-companyPhilosophyItem > p {
		margin-top: 20px;
	}
	.f-companyDataList {
		padding: 0;
	}
	.f-companyDataList > div {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 25px 22px;
	}
	.f-companyHistory .f-companyDataList > div:first-child,
	.f-companyHistory .f-companyDataList > div:not(:first-child):not(:last-child),
	.f-companyHistory .f-companyDataList > div:last-child,
	.f-companyProfileList > div:not(:last-child),
	.f-companyProfileList > div:last-child {
		min-height: 0;
	}
	.f-companyProfileList > div:last-child {
		padding-block: 25px;
	}
	.f-companyDataList dt {
		font-size: 19px;
	}
	.f-companyDataList dt br {
		display: none;
	}
	.f-companyDataList dt small,
	.f-companyDataList dd {
		font-size: 14px;
		line-height: 1.5;
	}
	.f-companyProfileList dd ol {
		margin-top: 20px;
		line-height: inherit;
	}
	.f-companyProfileList dd ol > li:not(:last-child) {
		margin-block-end: 0.3em;
		padding-block-end: 0.3em;
	}
}

/* aboutのページ見出しは読み上げ用に残し、視覚的に非表示にする */
main > .fs-c-heading.fs-c-heading--page:has(+ .f-about) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	min-height: 0;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* お買い物ガイド：XDの見出し・本文・目次 */
.s-guidePage .g-headerCategory {
	display: none;
}
main:has(> .s-guideContainer) {
	background-color: var(--bg-c-beige);
	background-image: linear-gradient(to bottom, var(--c-white), transparent 875px);
	background-position: 0 calc(140px + var(--heading-wave-height));
	background-size: 100% calc(100% - 140px - var(--heading-wave-height));
	background-repeat: no-repeat;
}
.s-guideContainer {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	align-items: start;
	gap: 80px;
	width: var(--inner-w);
	max-width: 1000px;
	margin: 0 auto;
	padding-block: 60px 120px;
	color: var(--txt-c-base);
	font-family: var(--ff-base);
	font-size: 16px;
	font-weight: var(--fw-base);
	line-height: 1.75;
	letter-spacing: 0.05em;
}
.s-guideContainer .s-guideNav {
	position: sticky;
	top: 140px;
	left: auto;
	right: auto;
	width: auto;
	display: block;
	opacity: 1;
	animation: none;
	z-index: 5;
}
.s-guideContainer .s-guideNav__spTrigger {
	display: none;
}
.s-guideContainer .s-guideNav__item {
	display: grid;
	gap: 25px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.s-guideContainer .s-guideNav__item li {
	margin: 0;
	border: 0;
}
.s-guideContainer .s-guideNav__item a {
	position: relative;
	display: inline-block;
	padding: 0 0 5px;
	color: inherit;
	font-family: var(--ff-mincho);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
	transition: color var(--duration-hover-fast, 0.2s) ease;
}
.s-guideContainer .s-guideNav__item a::after,
.s-guideContainer .s-guideNav__item li.is-current a::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	width: 100%;
	height: 2px;
	border: 0;
	background: #8b0412;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--duration-hover-fast, 0.2s) ease;
}
.s-guideContainer .s-guideNav__item .is-current a {
	color: inherit;
}
.s-guideContainer .s-guideNav__item li.is-current a::after {
	transform: scaleX(1);
}
.s-guideContainer .s-guideContents {
	display: grid;
	gap: 80px;
	min-width: 0;
	margin: 0;
}
.s-docArticle {
	min-width: 0;
	overflow-wrap: anywhere;
	scroll-margin-top: 20px;
	color: #404040;
}
.s-docArticle__heading {
	position: relative;
	margin: 0 0 40px;
	padding-block-end: 0.2em;
	padding-inline: 10px;
	border: 0;
	background-color: var(--c-white);
	color: var(--txt-c-base);
	font-family: var(--ff-mincho);
	font-size: 28px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0;
}
.s-docArticle__heading::after {
	content: "";
	position: absolute;
	inset: auto 0 -1px;
	height: 2px;
	background: #8b0412;
}
.s-docArticle .s-docArticle__subBar {
	position: relative;
	margin: 56px 0 6px;
	padding: 0 0 0 20px;
	border: 0;
	background: transparent;
	color: #8b0412;
	font-family: var(--ff-mincho);
	font-size: 22px;
	line-height: 1.636364;
	letter-spacing: 0;
}
.s-docArticle__subBar::before {
	content: "";
	position: absolute;
	inset: 0 auto auto 0;
	width: 10px;
	height: 32px;
	background: #8b0412;
}
.s-docArticle__heading + .s-docArticle__subBar {
	margin-top: 0;
}
.s-docArticle__ttl {
	margin: 36px 0 9px;
	padding: 0 1px 3px 9px;
	border-bottom: 1px solid var(--txt-c-base);
	color: var(--txt-c-base);
	font-family: var(--ff-mincho);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
}
.s-docArticle__subBar + .s-docArticle__ttl {
	margin-top: 20px;
}
.s-docArticle p + p {
	margin-top: 20px;
}
.s-docArticle .s-docArticle__subBar + p {
	margin-top: 0;
}
.s-docArticle__ttl + p {
	padding-inline: 9px 1px;
}
.s-docArticle__note {
	margin: 20px 0;
	padding: 30px 30px 27px;
	background: var(--c-white);
	font-size: 16px;
	line-height: 2;
}
.s-docArticle > p + .s-docArticle__note {
	margin-top: 16px;
}
.s-docArticle__note + p {
	padding-right: 10px;
}
.s-docArticle__note p + p {
	margin-top: 0;
}
.s-docArticle__note > p:first-child {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.75;
}
.s-docArticle__list {
	padding-left: 3em;
	list-style-position: outside;
}
ul.s-docArticle__list,
ul.s-docArticle__list > li {
	list-style-type: disc;
}
ol.s-docArticle__list,
ol.s-docArticle__list > li {
	list-style-type: decimal;
}
.s-docArticle a:not(.g-btn a) {
	text-decoration: none;
	text-underline-offset: 0.2em;
}
.s-docArticle__draft {
	padding: 20px;
	border: 1px dashed #b8b4aa;
	background: #faf9f6;
}
.s-guideContainer a:focus-visible,
.s-guideNav__spTrigger button:focus-visible {
	outline: 2px solid #8b0412;
	outline-offset: 4px;
}
@media (hover: hover) {
	.s-guideContainer .s-guideNav__item a:hover {
		color: #8b0412;
		opacity: 1;
	}
}
@media screen and (max-width: 1100px) and (min-width: 901px) {
	.s-guideContainer {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 40px;
	}
}
@media screen and (max-width: 900px) {
	main:has(> .s-guideContainer) {
		background-position: 0 139px;
		background-size: 100% calc(100% - 139px);
	}
	.s-guideContainer {
		display: block;
		padding-block: 30px 50px;
		font-size: 14px;
		line-height: 1.8;
	}
	.s-guideContainer .s-guideNav {
		position: fixed;
		top: 150px;
		right: -260px;
		left: auto;
		display: flex;
		align-items: flex-start;
		width: 300px;
		margin: 0;
		border: 0;
		background: transparent;
		z-index: 99;
		transition: right var(--duration-hover-slow, 0.5s) ease;
	}
	.s-guideContainer .s-guideNav.active {
		right: 0;
	}
	.s-guideContainer .s-guideNav__spTrigger {
		display: block;
		flex: 0 0 40px;
		width: 40px;
		height: 200px;
		margin: 0;
		border: 1px solid #d8d5cc;
		border-right: 0;
		border-radius: 5px 0 0 5px;
		background: rgba(225, 225, 225, 0.9);
	}
	.s-guideContainer .s-guideNav.active .s-guideNav__spTrigger {
		background: var(--c-white);
	}
	.s-guideContainer .s-guideNav__spTrigger::after {
		content: none;
	}
	.s-guideNav__spTrigger button {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		padding: 12px 0;
		writing-mode: vertical-rl;
		border: 0;
		background: transparent;
		color: inherit;
		font: inherit;
		text-align: left;
		cursor: pointer;
	}
	.s-guideNav__spTrigger button::after {
		content: none;
	}
	.s-guideContainer .s-guideNav.is-enhanced:not(.active) .s-guideNav__item {
		visibility: hidden;
	}
	.s-guideContainer .s-guideNav__item {
		flex: 0 0 260px;
		width: 260px;
		max-height: calc(100dvh - 170px);
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 10px 16px;
		gap: 0;
		background: var(--c-white);
		border: 1px solid #d8d5cc;
		transition: visibility var(--duration-hover-slow, 0.5s);
	}
	.s-guideContainer .s-guideNav__item li:not(:last-child) {
		border-bottom: 1px solid #d8d5cc;
	}
	.s-guideContainer .s-guideNav__item li:last-child {
		border-bottom: 0;
	}
	.s-guideContainer .s-guideNav__item a {
		display: block;
		padding: 10px 0;
		font-size: 13px;
	}
	.s-guideContainer .s-guideContents {
		gap: 50px;
	}
	.s-docArticle__heading {
		margin-bottom: 24px;
		font-size: 24px;
	}
	.s-docArticle .s-docArticle__subBar {
		padding: 0 0 0 18px;
		font-size: 18px;
		line-height: 1.6;
	}
	.s-docArticle__subBar::before {
		width: 6px;
		height: 1.6em;
	}
	.s-docArticle__ttl {
		font-size: 15px;
	}
	.s-docArticle__note {
		padding: 18px;
	}
	.s-docArticle__list {
		padding-left: 2.5em;
	}
}
@media (prefers-reduced-motion: reduce) {
	.s-guideContainer .s-guideNav,
	.s-guideContainer .s-guideNav__item,
	.s-guideContainer .s-guideNav__item a {
		transition: none;
	}
}

.fs-body-checkout-success .g-bnrLink {
	padding-block-start: 100px;
}
@media screen and (min-width: 768px) {
	.fs-body-checkout-success .g-bnrLink {
		padding-block-start: 120px;
	}
}
