/* TOPページ上部リニューアル（2026-10-06 / 2026-10-14 / 2026-10-16） */
.front_page .top-upper-category-nav {
	padding: 0;
}
.front_page .top-upper-category-nav .c-title01 {
	font-size: 2rem;
	margin: 0 0 20px;
}
.front_page .top-upper-category-nav .c-title01 span {
	white-space: nowrap;
}
.front_page .top-upper-category-nav .c-title01 span::before {
	margin-right: 5px;
}
.front_page .top-upper-category-nav .c-title01 span::after {
	margin-left: 5px;
}
.front_page .top-upper-category-nav__list {
	flex-wrap: nowrap;
}
.front_page .top-category-renewal-works {
	padding-top: 0;
	padding-bottom: 50px;
}
.front_page .top-category-renewal-works__heading {
	display: grid;
	grid-template-columns: minmax(70px, 1fr) auto minmax(70px, 1fr);
	-webkit-box-align: center;
	align-items: center;
	/* 上の「高品質・小ロット山田園製作所のノベルティ」見出しと同じ下余白（2026-10-14 奥田さん指示） */
	margin-bottom: 20px;
}
.front_page .top-category-renewal-works__heading::before {
	content: "";
}
.front_page .top-category-renewal-works__heading .c-title01 {
	font-size: 2rem;
	grid-column: 2;
}
.front_page .top-category-renewal-works__heading .c-title01 span {
	white-space: nowrap;
}
.front_page .top-category-renewal-works__heading .c-title01 span::before {
	margin-right: 5px;
}
.front_page .top-category-renewal-works__heading .c-title01 span::after {
	margin-left: 5px;
}
.front_page .top-category-renewal-works__heading .c-head__link {
	font-size: 1.4rem;
	grid-column: 3;
	justify-self: end;
	margin-left: 12px;
	white-space: nowrap;
}
.front_page .top-category-renewal-works .category-renewal-works__panel {
	background: #fff;
	padding: 16px 16px 20px;
}
/* 作品事例のプログレスバー（スクロールバー）はトップでは出さない（2026-10-14 奥田さん指示。カテゴリーページは従来どおり表示） */
.front_page .top-category-renewal-works .category-renewal-works__scrollbar {
	display: none;
}
.front_page .top-popular-products {
	padding: 100px 0 0;
}
.front_page .top-popular-products .category-renewal-product-list {
	padding-bottom: 0 !important;
}
.front_page .top-popular-products__sort {
	margin-bottom: 12px !important;
}
/* 並び順タブの背景（カテゴリーページ共通の #f9f8f3）をトップでは白にする（2026-10-14 奥田さん指示。カテゴリーページは従来どおり） */
.front_page .top-popular-products .category-renewal-product-list .p-category-sort {
	background: #fff;
}
/* 並び順タブはデザイン案どおり、選択中を赤地に白文字＋タブの下に赤線（トップのみ。カテゴリーページのタブは変えない） */
.front_page .top-popular-products .p-category-sort__list {
	border-bottom: solid 3px #98252a;
}
.front_page .top-popular-products .p-category-sort__list > li.is-active > a {
	color: #fff;
	background: #98252a;
	border-color: #98252a;
	border-top-width: 1px;
	padding-top: 16px;
}
.front_page .top-popular-products__panel[hidden] {
	display: none;
}
.front_page .top-popular-products__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 1.3333%;
	row-gap: 32px;
}
.front_page .top-popular-products__grid .product-list-card {
	width: auto;
	min-width: 0;
	margin: 0;
}
.front_page .top-popular-products__more {
	color: #972529;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
	background: #fff;
	border: solid 1px #972529;
	border-radius: 100px;
	width: min(calc(100% - 26px), 400px);
	min-height: 40px;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	margin: 38px auto 100px;
	padding: 6px 20px;
}
/* 「商品一覧へ」の下の余白はボタン側で持つ（デザイン: ボタン下端→次の見出し帯 84px @390）。最近チェックした商品の枠は上余白を持たない */
.front_page .top-checked-products {
	padding-top: 0;
}

/* 最近チェック・商品検索・レビュー・FAQに共通する全幅の見出し帯 */
.front_page .top-section-heading {
	color: #972529;
	background: #f3eff0;
	min-height: 48px;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	flex-wrap: nowrap;
	margin: 0 0 24px;
	padding: 8px 14px;
	position: relative;
	z-index: 0;
}
.front_page .page-content__main .top-section-heading::before {
	content: "";
	background: #f3eff0;
	border-top: solid 1px #972529;
	width: 200vw;
	position: absolute;
	top: 0;
	bottom: 0;
	right: -100vw;
	left: auto;
	z-index: -1;
}
.front_page .top-section-heading .c-title01 {
	color: #972529;
	min-width: 0;
	flex: 1 1 auto;
	margin: 0;
}
.front_page .top-section-heading .c-head__link {
	color: #972529;
	font-size: 1.4rem;
	flex: 0 0 auto;
	margin-left: 12px;
	white-space: nowrap;
}
.front_page .top-search-form {
	padding-bottom: 60px;
}
.front_page .top-search-form,
.front_page .top-search-form .t-filter {
	background: #fff;
}
/* 見出し帯の下余白（24px）だけで最初の小見出しへ続ける（デザイン: 帯下端→小見出し 約20px @390） */
.front_page .top-search-form .t-filter {
	padding-top: 0;
}
.front_page .top-search-form .t-link-list.m-icon > li > a {
	border: solid 1px #b3b3b3;
}
.front_page .top-search-form .t-link-list.m-text {
	margin: 0;
	padding: 0;
	gap: 12px 10px;
}
.front_page .top-search-form .t-link-list.m-text > li {
	margin: 0;
}
.front_page .top-search-form .t-link-list.m-text > li > a {
	background: #fff;
	border: solid 1px #b3b3b3;
	border-radius: 100px;
	display: block;
	line-height: 1.3;
	padding: 7px 16px;
}

.front_page .top-review-list {
	background: #fff;
	padding-top: 20px;
	padding-bottom: 0;
}
/* レビュー一覧→よくあるご質問の間隔（デザイン: カード下端→次の見出し帯 約44px @390） */
.front_page .top-faq {
	padding-top: 80px;
}
.front_page .top-review-list .c-review-list > li {
	border: solid 1px #d6d6d6;
	border-radius: 4px;
}
.front_page .top-review-list .c-review-list > li:not(:last-child) {
	margin: 0;
}

.front_page .top-novelty-about__heading {
	line-height: 1.45;
	margin: 0 0 24px;
}
.front_page .top-novelty-about__heading > span {
	padding: 0 44px;
}
.front_page .top-novelty-about__heading > span::before,
.front_page .top-novelty-about__heading > span::after {
	position: absolute;
	top: 50%;
	translate: 0 -50%;
}
.front_page .top-novelty-about__heading > span::before {
	left: 0;
}
.front_page .top-novelty-about__heading > span::after {
	right: 0;
}
.front_page .top-novelty-about .c-novelty-about-list > li {
	border: solid 1px #d6d6d6;
	border-radius: 4px;
}

@media screen and (min-width: 769px) {
	/* MVのインジケーターをスマホと同じく画像の下へ（2026-10-07 奥田さん指示）。
	   Swiper既定の bottom 指定で画像に重なっていたため、画像の下端基準で配置する。
	   absolute のままにして、右のアクションリンク（画像と同じ高さ）や下の余白を変えない。 */
	.front_page .t-mv__swiper > .swiper-pagination {
		top: calc(100% + 12px);
		bottom: auto;
	}

	/* PCの見出し帯は画面幅いっぱいにせず、カテゴリーページ（.category-renewal-section-heading）と同じく
	   右コンテンツ幅の中だけに出す（2026-10-16 奥田さん指示）。スマホは従来どおり画面幅いっぱい。 */
	.front_page .page-content__main .top-section-heading::before {
		content: none;
	}
	.front_page .top-section-heading {
		border-top: solid 1px #972529;
	}
}

@media screen and (max-width: 1024px) {
	.front_page .t-mv {
		padding-bottom: min(6.4vw, 24px);
	}
	.front_page .t-mv__flex01 {
		margin-bottom: 64px;
	}
	.front_page .t-mv__swiper {
		margin-bottom: 0;
	}
	.front_page .t-mv__actions__list {
		display: none;
	}
	.front_page .top-upper-category-nav .c-title01 {
		font-size: min(3.2vw, 1.6rem);
		margin-bottom: min(3.2vw, 20px);
	}
	.front_page .top-upper-category-nav .c-title01 span {
		padding: 0;
	}
	.front_page .top-upper-category-nav .c-title01 span::before,
	.front_page .top-upper-category-nav .c-title01 span::after {
		position: static;
		translate: none;
	}
	.front_page .top-upper-category-nav__list {
		-webkit-box-pack: start;
		justify-content: flex-start;
		max-width: none;
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.front_page .top-upper-category-nav__list::-webkit-scrollbar {
		display: none;
	}
	.front_page .top-upper-category-nav__list > li {
		flex: 0 0 min(18.6667vw, 100px);
		width: auto;
		margin: 0 min(2.6667vw, 20px) 0 0 !important;
	}
	.front_page .top-upper-category-nav__list > li:last-child {
		margin-right: 0 !important;
	}
	.front_page .top-upper-category-nav__list .c-category-nav__item__img {
		border-radius: min(2.1333vw, 8px);
	}
	.front_page .top-upper-category-nav__list .c-category-nav__item__text {
		font-size: min(3.2vw, 1.2rem);
		font-weight: 700;
		white-space: nowrap;
		margin-top: min(1.6vw, 6px);
	}

	.front_page .top-upper-search {
		margin: min(8vw, 30px) 0 0;
	}
	.front_page .top-upper-search .c-searchform {
		background: #fff;
		padding: min(3.7333vw, 14px) min(2.6667vw, 10px);
	}
	.front_page .top-upper-search .c-searchform__fields {
		display: block;
	}
	.front_page .top-upper-search .c-searchform__fields > div {
		width: 100%;
		margin-top: min(2.1333vw, 8px);
	}
	.front_page .top-upper-search .c-searchform__fields > div:first-child {
		margin-top: 0;
	}
	.front_page .top-upper-search .c-searchform__fields > div > dt {
		color: #7d0000;
		font-size: min(4.2667vw, 1.6rem);
		font-weight: 700;
		line-height: 1.4;
		margin-bottom: min(2.6667vw, 10px);
	}
	.front_page .top-upper-search .c-input {
		background: #fff;
		border: solid 1px #b3b3b3;
		min-height: 40px;
	}
	.front_page .top-upper-search .c-input::placeholder {
		color: #252525;
		opacity: 1;
	}
	/* キーワード検索は赤枠（2026-10-07 奥田さん指示） */
	.front_page .top-upper-search__keyword .c-input {
		border: solid 2px #7d0000;
	}
	.front_page .top-upper-search__keyword .c-input::placeholder {
		color: #7d0000;
		font-weight: 700;
	}
	.front_page .top-upper-search__category-fields {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: min(2.1333vw, 8px);
	}
	.front_page .top-upper-search__budget-fields {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
		gap: min(1.6vw, 6px);
	}
	.front_page .top-upper-search__budget-fields .c-input {
		min-width: 0;
	}
	.front_page .top-upper-search__budget-fields > span {
		font-size: 1.4rem;
		text-align: center;
	}
	.front_page .top-upper-search__tags > dt {
		display: none;
	}
	.front_page .top-upper-search .c-searchform__fields > div.top-upper-search__tags {
		margin-top: min(4.2667vw, 16px);
	}
	.front_page .top-upper-search .c-searchform__submit {
		margin-top: min(6.4vw, 24px);
	}
	.front_page .top-upper-search .c-searchform__btn {
		max-width: 230px;
	}
	.front_page .top-category-renewal-works {
		padding-top: 0;
		padding-bottom: min(13.3333vw, 50px);
	}
	.front_page .top-category-renewal-works__heading {
		grid-template-columns: minmax(64px, 1fr) auto minmax(64px, 1fr);
	}
	.front_page .top-category-renewal-works__heading .c-title01 {
		font-size: min(3.2vw, 1.6rem);
	}
	.front_page .top-category-renewal-works__heading .c-title01 span {
		padding: 0;
	}
	.front_page .top-category-renewal-works__heading .c-title01 span::before,
	.front_page .top-category-renewal-works__heading .c-title01 span::after {
		position: static;
		translate: none;
	}
	.front_page .top-category-renewal-works__heading .c-head__link {
		font-size: min(3.2vw, 1.2rem);
	}
	.front_page .top-popular-products {
		padding-top: min(19.2vw, 72px);
	}
}

@media screen and (max-width: 768px) {
	.front_page .t-mv__flex01 {
		margin-bottom: min(8vw, 30px);
	}
	.front_page .top-category-renewal-works__heading {
		margin-bottom: min(3.2vw, 20px);
	}
	/* 見出し行は画面幅いっぱいのため、リンクが画面右端に接しないよう右に余白を取る */
	.front_page .top-category-renewal-works__heading .c-head__link {
		margin-right: min(2.6667vw, 10px);
	}
	.front_page .top-category-renewal-works .category-renewal-works__panel {
		padding: min(2.6667vw, 10px);
	}
	.front_page .top-popular-products__sort {
		margin-bottom: min(3.2vw, 12px) !important;
	}
	.front_page .top-popular-products .p-category-sort__list > li.is-active > a {
		padding-top: min(3.2vw, 12px);
	}
	.front_page .top-popular-products__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: min(2.1333vw, 8px);
		row-gap: min(8.5333vw, 32px);
		box-sizing: border-box;
		width: 100vw;
		margin-left: calc((100% - 100vw) / 2);
		padding: 0 min(1.6vw, 6px);
	}
	.front_page .top-popular-products__more {
		font-size: min(4.2667vw, 1.6rem);
		width: calc(100% - min(6.6667vw, 26px));
		min-height: min(10.6667vw, 40px);
		margin-top: min(10.1333vw, 38px);
		margin-bottom: min(22.4vw, 84px);
		padding: min(1.6vw, 6px) min(4.2667vw, 16px);
	}
	.front_page .top-section-heading {
		min-height: min(9.6vw, 36px);
		margin-bottom: min(6.4vw, 24px);
		padding: min(1.0667vw, 4px) min(2.6667vw, 10px);
	}
	.front_page .top-section-heading .c-head__link {
		font-size: min(3.2vw, 1.2rem);
		margin-left: min(2.1333vw, 8px);
	}
	/* 最後のボタン→レビュー一覧の帯 約59px @390（デザイン実測） */
	.front_page .top-search-form {
		padding-bottom: min(2.1333vw, 8px);
	}
	.front_page .top-search-form .t-link-list.m-text {
		font-size: min(3.2vw, 1.2rem);
		gap: min(3.2vw, 12px) min(2.1333vw, 8px);
	}
	.front_page .top-search-form .t-link-list.m-text > li > a {
		padding: min(1.6vw, 6px) min(3.2vw, 12px);
	}
	/* デザインのスマホ表示はレビューに左右矢印を出さない（次のカードの見切れでスライドを示す） */
	.front_page .top-review-list .swiper-button-prev,
	.front_page .top-review-list .swiper-button-next {
		display: none;
	}
	.front_page .top-novelty-about {
		padding-top: min(12.8vw, 48px);
	}
	.front_page .top-review-list {
		padding-top: min(5.3333vw, 20px);
	}
	.front_page .top-faq {
		padding-top: min(11.7333vw, 44px);
		padding-bottom: min(14.9333vw, 56px);
	}
	/* よくあるご質問の項目（デザイン実測 @390: 項目の高さ約50px・項目間8px・Qアイコン約27px） */
	.front_page .top-faq .c-faq-list > div {
		padding: min(3.2vw, 12px) 0;
	}
	.front_page .top-faq .c-faq-list > div:not(:last-child) {
		margin-bottom: min(2.1333vw, 8px);
	}
	.front_page .top-faq .c-faq__item__icon {
		width: min(7.2vw, 27px);
		flex: 0 0 auto;
	}
	.front_page .top-faq .c-faq-list dt .c-faq__item__text {
		padding-top: min(0.8vw, 3px);
	}
	/* 選ばれる理由の最終カード下→背景の終端 約49px @390（デザイン実測） */
	.front_page .top-novelty-about {
		padding-bottom: min(12.8vw, 48px);
	}
	.front_page .top-review-list__area {
		width: 100vw;
		margin-left: calc((100% - 100vw) / 2);
		padding: 0 min(1.6vw, 6px);
	}
	.front_page .top-novelty-about__heading {
		font-size: min(4vw, 1.5rem);
		margin-bottom: min(4vw, 15px);
	}
	.front_page .top-novelty-about__heading > span {
		padding: 0 min(9.0667vw, 34px);
	}
}

/* PC幅（1025〜1280px付近）で「すべての商品」が2行に折り返さないように1行で表示する */
@media screen and (min-width: 1025px) {
	.front_page .top-upper-category-nav__list .c-category-nav__item__text {
		white-space: nowrap;
		letter-spacing: 0;
	}
}
