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

html {
	font-size: 16px;
	height: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 20px;
}

body {
	color: #000000;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 400;
	line-height: 1.5;
}

body.is-drawer-open {
	height: 100%;
	overflow: hidden;
}

main {
	flex-grow: 1;
}

img,
video,
object {
	border: none;
	display: block;
	height: auto;
	max-width: 100%;
}

a {
	color: #000000;
	cursor: pointer;
	text-decoration: none;
	transition: opacity 0.3s;
}

a:hover {
	opacity: 0.7;
}

/*===================================================================
# ヘッダー
===================================================================*/

.header {
	left: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 5rem;
	z-index: 100;
}

.header__panel {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 23.56%, rgba(255, 255, 255, 0.7) 100%);
	border: 0.0625rem solid #FFF;
	border-radius: 0 2rem 2rem 0;
	display: flex;
	flex-direction: column;
	padding: 3.375rem 2.1875rem 3.25rem;
	pointer-events: auto;
	width: -moz-fit-content;
	width: fit-content;
}

.is-drawer-open .header__panel {
	background-color: rgb(255, 255, 255);
	transition: background-color 0.3s ease;
}

.header__panel-top {
	width: -moz-fit-content;
	width: fit-content;
}

.header__logo-img {
	display: block;
	width: 8.125rem;
}

.header__logo-img img {
	height: auto;
	width: 100%;
}

.header__nav {
	margin-block-start: 2.0625rem;
	margin-inline-start: 0.375rem;
}

.header__list li a {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.6875rem;
	column-gap: 0.6875rem;
}

.header__list li a span {
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 200%;
	padding-block-end: 0.125rem;
}

.header__indicator {
	background-color: #000000;
	height: 0.125rem;
	width: 0.8125rem;
}

.header__indicator.is-active {
	border-radius: 50%;
	height: 0.875rem;
	width: 0.875rem;
}

.header__sns {
	margin-block-start: 2.125rem;
	margin-inline-start: 0.1875rem;
}

.header__sns-title {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 200%;
}

.header__sns-img {
	display: block;
	margin-block-start: 0.125rem;
	width: 3rem;
}

.header__sns-img svg {
	height: auto;
	width: 100%;
}

/*===================================================================
# フッター
===================================================================*/

.footer {
	background-color: #CA0103;
	padding-block: 4rem 2rem;
}

.footer__logo-link img {
	aspect-ratio: 130/130;
	margin-inline: auto;
	width: 8.125rem;
}

.footer__sns-link img {
	aspect-ratio: 48/48;
	margin-block-start: 1.9375rem;
	margin-inline: auto;
	width: 3rem;
}

.footer__nav {
	margin-block-start: 1.4375rem;
}

.footer__menu-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.125rem;
	justify-content: center;
}

.footer__menu-link {
	color: #FFF;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.75rem; /* 200% */
}

.footer__company-link {
	color: #FFF;
	display: block;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.75rem; /* 155.556% */
	margin-block-start: 0.5rem;
	text-align: center;
}

.footer__copyright {
	color: #FFF;
	display: block;
	font-size: 0.75rem;
	font-weight: 500;
	margin-block-start: 3.25rem;
	text-align: center;
}

/*===================================================================
# Inner
===================================================================*/

.inner {
	margin-inline: auto;
	max-width: 61.625rem;
	width: 100%;
}

.advanced {
	--ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
	opacity: 0;
	translate: 0 13%;
	will-change: opacity, translate;
}

.advanced.isActive {
	opacity: 1;
	transition-duration: 1.8s;
	transition-property: opacity, translate;
	transition-timing-function: var(--ease-out-cubic), var(--ease-out-quint);
	translate: 0;
}

/*===================================================================
# Drawer
===================================================================*/

.drawer {
	display: none;
	max-height: 0;
	overflow-y: hidden;
	transition: max-height 0.3s ease;
	width: 100%;
}

.drawer.js-show {
	max-height: 62.5rem;
}

.drawer__body {
	padding: 0 1.25rem 1.25rem;
}

.drawer__list li {
	padding-block: 0.5rem;
	position: relative;
}

.drawer__list li::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='315' height='1' fill='none'%3E%3Cpath d='M0 0.5h315' stroke='%23979797' stroke-linecap='round' stroke-dasharray='1 4'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: contain;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	width: 100%;
}

.drawer__list li:first-of-type::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='315' height='1' fill='none'%3E%3Cpath d='M0 0.5h315' stroke='%23979797' stroke-linecap='round' stroke-dasharray='1 4'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-size: contain;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.drawer__list li a {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.4375rem;
	column-gap: 0.4375rem;
	position: relative;
}

.drawer__list li a::after {
	content: "";
	height: 0.0625rem;
	position: absolute;
	width: 100%;
}

.drawer__list li img {
	height: auto;
	width: 1.875rem;
}

.drawer__list li span {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 100%;
}

.drawer__company-info {
	display: flex;
	-moz-column-gap: 1.375rem;
	column-gap: 1.375rem;
	margin-block-start: 0.75rem;
}

.drawer__company-name {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 156%;
}

.drawer__icon {
	align-items: center;
	display: none;
	flex-direction: column;
	gap: 0.375rem;
	height: auto;
	justify-content: center;
	position: relative;
	width: 1.75rem;
	z-index: 110;
}

.drawer__icon--bar {
	background-color: #000000;
	border-radius: 0.25rem;
	display: block;
	height: 0.25rem;
	transform-origin: center;
	transition: transform 0.5s ease, background-color 0.5s ease, opacity 0.5s ease;
	width: 1.75rem;
}

/* メニューが開いている時 */

.drawer__icon.js-show .drawer__icon--bar:nth-of-type(1) {
	transform: translateY(0.625rem) rotate(45deg);
}

.drawer__icon.js-show .drawer__icon--bar:nth-of-type(2) {
	opacity: 0;
}

.drawer__icon.js-show .drawer__icon--bar:nth-of-type(3) {
	transform: translateY(-0.625rem) rotate(-45deg);
}

/*===================================================================
# side-banner
===================================================================*/

.side-banner {
	position: fixed;
	right: 0;
	top: 35.625rem;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	z-index: 10;
}

.side-banner.js-hide {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.side-banner a {
	display: flex;
	height: 7.4375rem;
	justify-content: center;
	width: 12.5rem;
	-moz-column-gap: 0.5rem;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.7) 100%);
	border-radius: 2rem 0 0 2rem;
	column-gap: 0.5rem;
}

.side-banner__img {
	aspect-ratio: 1/1;
	height: auto;
	padding-block-start: 0.5rem;
	width: 4.9375rem;
}

.side-banner__info {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	padding-block-start: 1.25rem;
}

.side-banner__text {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.3125rem; /* 150% */
}

.side-banner__img-external {
	aspect-ratio: 1/1;
	height: auto;
	margin-block-start: -0.1875rem;
	width: 1.125rem;
}

/*===================================================================
# Recipe Slider
===================================================================*/

.recipe-slider {
	background: #EFEAD4;
	overflow: hidden;
	padding-block-end: 6.9375rem;
}

.recipe-slider__header {
	background: url(../../assets/img/common/header_recipe_slider_bg.webp) center center/cover no-repeat;
	border-radius: 0 0 4rem 4rem;
	overflow: hidden;
	padding-block: 8rem 8.4375rem;
}

.recipe-slider__title-wrapper {
	text-align: center;
}

.recipe-slider__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.3rem;
	line-height: 225%;
}

.recipe-slider__title-jp {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 150%;
	margin-block-start: -0.5625rem;
}

.recipe-slider__container {
	margin-block-start: -6.375rem;
	max-width: 93.75rem;
	overflow: visible;
	width: 100%;
}

.recipe-slider__img-container {
	aspect-ratio: 280/200;
	border-radius: 2rem;
	overflow: hidden;
	width: 100%;
}

.recipe-slider__img-container img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.recipe-slider__item-title {
	display: -webkit-box;
	font-size: 1.4375rem;
	font-weight: 700;
	margin-block-start: 0.75rem;
	text-align: center;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.recipe-slider__controls {
	align-items: center;
	display: flex;
	gap: 2.1875rem;
	justify-content: center;
	margin-block-start: 3.875rem;
}

.recipe-slider__controls .swiper-button-prev,
.recipe-slider__controls .swiper-button-next {
	height: auto;
	margin: 0;
	position: static;
	width: auto;
}

.recipe-slider__controls .swiper-button-prev::after,
.recipe-slider__controls .swiper-button-next::after {
	display: none;
}

.recipe-slider__arrow {
	aspect-ratio: 32/28;
	background: none;
	border: none;
	cursor: pointer;
	height: auto;
	padding: 0;
	width: 2rem;
}

.recipe-slider__arrow img {
	display: block;
	width: 100%;
}

.recipe-slider__btn-link {
	align-items: center;
	background: linear-gradient(90deg, #000 0%, #CA0103 100%);
	border: 0.0625rem solid #FFF;
	border-radius: 2.80525rem;
	color: #FFF;
	display: flex;
	font-weight: 700;
	gap: 0.875rem;
	justify-content: flex-end;
	padding: 0.6875rem 0.75rem 0.5rem 2.5625rem;
}

.recipe-slider__btn-link span {
	padding-block-end: 0.125rem;
}

.recipe-slider__btn-link img {
	aspect-ratio: 14/14;
	height: auto;
	width: 0.875rem;
}

/*===================================================================
# Blog Slider
===================================================================*/

.blog-slider {
	background: linear-gradient(90deg, #00AEB1 0.12%, #4AD1D3 99.9%);
	overflow: hidden;
	padding-block: 6.75rem 8.0625rem;
}

.blog-slider__title-wrapper {
	color: #fff;
	margin-block-end: 2.125rem;
	text-align: center;
}

.blog-slider__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.3rem;
	line-height: 225%;
}

.blog-slider__title-jp {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 150%;
}

.blog-slider__container {
	max-width: 93.75rem;
	overflow: visible;
	width: 100%;
}

.blog-slider__img-container {
	aspect-ratio: 1/1;
	border-radius: 50%;
	overflow: hidden;
	width: 100%;
}

.blog-slider__img-container img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.blog-slider__item-title {
	color: #FFF;
	display: -webkit-box;
	font-size: 1.4375rem;
	font-weight: 700;
	margin-block-start: 0.75rem;
	text-align: center;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.blog-slider__controls {
	align-items: center;
	display: flex;
	gap: 2.1875rem;
	justify-content: center;
	margin-block-start: 3.375rem;
}

.blog-slider__controls .swiper-button-prev,
.blog-slider__controls .swiper-button-next {
	height: auto;
	margin: 0;
	position: static;
	width: auto;
}

.blog-slider__controls .swiper-button-prev::after,
.blog-slider__controls .swiper-button-next::after {
	display: none;
}

.blog-slider__arrow {
	aspect-ratio: 32/28;
	background: none;
	border: none;
	cursor: pointer;
	height: auto;
	padding: 0;
	width: 2rem;
}

.blog-slider__arrow img {
	display: block;
	width: 100%;
}

.blog-slider__btn-link {
	align-items: center;
	background: linear-gradient(90deg, #000 0%, #CA0103 100%);
	border: 0.0625rem solid #FFF;
	border-radius: 2.80525rem;
	color: #FFF;
	display: flex;
	font-weight: 700;
	gap: 0.875rem;
	justify-content: flex-end;
	padding: 0.6875rem 0.75rem 0.5rem 2.5625rem;
}

.blog-slider__btn-link span {
	padding-block-end: 0.125rem;
}

.blog-slider__btn-link img {
	aspect-ratio: 14/14;
	height: auto;
	width: 0.875rem;
}

.pagination {
	margin-block-start: 4.875rem;
}

.pagination__list {
	align-items: center;
	display: flex;
	justify-content: center;
	list-style: none;
	padding: 0;
	-moz-column-gap: 1.375rem;
	column-gap: 1.375rem;
}

.pagination__item {
	align-items: center;
	display: flex;
}

.pagination__link {
	color: #3F3C31;
	display: inline-block;
	font-family: "Montserrat", sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-decoration: none;
}

.pagination__link.is-current {
	color: #CA0103;
	pointer-events: none;
}

.pagination__arrow {
	display: block;
	height: 2.625rem;
	transition: opacity 0.3s;
	width: 2.625rem;
}

.pagination__arrow:hover {
	opacity: 0.7;
}

.pagination__arrow img {
	height: auto;
	vertical-align: bottom;
	width: 100%;
}

.pagination__arrow--prev img {
	transform: rotate(180deg);
}

.pagination { /* 「...」などの記号用 */
}

.pagination__ellipsis {
	color: #3F3C31;
	font-family: "Montserrat", sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
}

/*===================================================================
# Top FV
===================================================================*/

.top-fv {
	background: url(../../assets/img/top/fv_bg.webp) center center/cover no-repeat;
	padding-block: 17.3125rem 16.96875rem;
	position: relative;
}

.top-fv__inner {
	height: 100%;
	height: auto;
	margin-inline: auto;
	max-width: 90rem;
	position: relative;
	width: 100%;
}

.top-fv__logo {
	aspect-ratio: 244/212;
	height: auto;
	margin-inline: 32rem auto;
	width: 15.25rem;
}

.top-fv__titles {
	display: flex;
	left: calc(50% + 5.0625rem);
	position: absolute;
	top: calc(50% - 8.3125rem);
	-moz-column-gap: 1.5625rem;
	align-items: flex-start;
	column-gap: 1.5625rem;
}

.top-fv__sub-title {
	display: block;
	height: 12.40625rem;
	width: 0.875rem;
}

.top-fv__sub-title img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-fv__title {
	display: block;
	height: 16.8125rem;
	width: 5.25rem;
}

.top-fv__title img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-fv__scroll-wrapper {
	bottom: -14.875rem;
	left: 50%;
	position: absolute;
	translate: -50%;
}

.top-fv__scroll {
	color: #E5FF00;
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	letter-spacing: 0.2rem;
	line-height: 225%;
	position: relative;
	text-shadow: 0 0 0.1875rem rgba(0, 0, 0, 0.6);
}

.top-fv__scroll::before {
	background-color: rgba(229, 255, 0, 0.2);
	bottom: -4.8125rem;
	content: "";
	height: 5.0625rem;
	left: 50%;
	overflow: hidden;
	position: absolute;
	translate: -50% 0;
	width: 0.125rem;
}

.top-fv__scroll::after {
	animation: scroll-line 2.5s cubic-bezier(0.65, 0, 0.35, 1) infinite;
	background-color: #E5FF00;
	bottom: -4.8125rem;
	content: "";
	height: 5.0625rem;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: 0.125rem;
}

.top-fv__note {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 23.56%, rgba(255, 255, 255, 0.7) 100%);
	border: 0.0625rem solid #FFF;
	border-radius: 2rem 0 0 2rem;
	height: 29.5rem;
	padding: 2.25rem 2rem 1.8125rem;
	position: absolute;
	right: 0;
	top: -12.3125rem;
	top: 80px;
	transition: height 0.4s ease, bottom 0.4s ease;
	width: 12.5rem;
	z-index: 10;
}

.top-fv__note-title {
	font-family: "Bodoni Moda", sans-serif;
	font-weight: 700;
	letter-spacing: 0.19375rem;
	line-height: 150%;
	text-align: center;
}

.top-fv__note-swiper {
	height: 100%;
	position: relative;
	width: 100%;
}

.top-fv__note-swiper .swiper-slide {
	background-color: transparent;
	opacity: 0 !important;
}

.top-fv__note-swiper .swiper-slide-active {
	opacity: 1 !important;
}

.top-fv__note-thumb {
	align-items: center;
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	height: 8.125rem;
	justify-content: center;
	margin-block-start: 0.875rem;
	overflow: hidden;
	width: 8.125rem;
}

.top-fv__note-thumb__img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-fv__note-card-texts {
	margin-block-start: 0.8125rem;
}

.top-fv__note-card-name {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 150%;
}

.top-fv__note-description-container {
	height: 9.375rem;
	margin-block-start: 0.3125rem;
	overflow-y: auto;
}

.top-fv__note-description {
	font-size: 0.625rem;
	font-weight: 500;
	line-height: 150%;
}

.top-fv__note-pagination.swiper-pagination-bullets {
	align-items: center;
	bottom: 1.625rem;
	display: flex;
	justify-content: center;
	position: absolute;
}

.top-fv__note-pagination.swiper-pagination-bullets { /* ドット自体のスタイル上書き */
}

.top-fv__note-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
	background-color: #fff;
	height: 0.625rem;
	margin-inline: 0.28125rem;
	opacity: 1;
	width: 0.625rem;
}

.top-fv__note-pagination.swiper-pagination-bullets .swiper-pagination-bullet { /* アクティブ時の色 */
}

.top-fv__note-pagination.swiper-pagination-bullets .swiper-pagination-bullet-active {
	background-color: #D90000;
}

.top-fv__note-arrow-btn {
	background: none;
	border: none;
	cursor: pointer;
	display: none;
	position: absolute;
	right: 1.3125rem;
	top: 1.875rem;
	transition: transform 0.4s ease;
	z-index: 30;
}

/*===================================================================
# Top Concept
===================================================================*/

.top-concept {
	background: linear-gradient(99deg, #000 57.04%, #CA0103 91.53%);
	padding-block: 7.875rem 11.9375rem;
}

.top-concept__inner {
	margin-inline: auto;
	max-width: 90rem;
	padding-inline: 14.1875rem 0;
	position: relative;
}

.top-concept__content-wrapper {
	display: flex;
	-moz-column-gap: 1.6875rem;
	column-gap: 1.6875rem;
}

.top-concept__texts {
	color: #fff;
	flex: 1;
}

.top-concept__title-wrapper {
	position: relative;
}

.top-concept__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.3rem;
	line-height: 3.375rem; /* 225% */
}

.top-concept__title-jp {
	font-size: 2rem;
	font-weight: 700;
	line-height: 3.375rem; /* 150% */
	margin-block-start: -0.75rem;
}

.top-concept__title-line {
	background-color: #fff;
	border-radius: 1.625rem;
	bottom: -1.1875rem;
	height: 0.25rem;
	left: 0;
	position: absolute;
	width: 10.3125rem;
}

.top-concept__message {
	font-weight: 500;
	line-height: 1.45;
	margin-block-start: 2.3125rem;
}

.top-concept__img01 {
	aspect-ratio: 676/657;
	border-radius: 5.25rem 0 0 2.25rem;
	display: block;
	height: auto;
	overflow: hidden;
	width: 42.25rem;
}

.top-concept__img01 img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-concept__img02 {
	aspect-ratio: 603/338;
	border-radius: 2.25rem 2.25rem 0 0;
	bottom: -11.9375rem;
	display: block;
	height: auto;
	left: 14.1875rem;
	overflow: hidden;
	position: absolute;
	width: 37.6875rem;
}

.top-concept__img02 img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

/*===================================================================
# Top Lineup
===================================================================*/

.top-lineup {
	overflow-x: hidden;
	padding-block: 7.0625rem;
}

.top-lineup__title-wrapper {
	text-align: center;
}

.top-lineup__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.3rem;
	line-height: 225%;
}

.top-lineup__title-jp {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 150%;
	margin-block-start: -0.5625rem;
}

.top-lineup__banner-container {
	margin-block-start: 1.5625rem;
	margin-inline: auto;
	max-width: 90rem;
	overflow: visible;
	width: 100%;
}

.top-lineup__banner-container .swiper-wrapper {
	display: flex;
}

.top-lineup__banner-card {
	background-color: #000;
	border-radius: 2rem;
	cursor: grab;
	display: flex;
	height: 18.3125rem;
	overflow: hidden;
	width: 61.5625rem;
}

.top-lineup__banner-info {
	align-items: center;
	color: #fff;
	display: flex;
	flex: 0 0 16.25rem;
	flex-direction: column;
	padding: 1.625rem 1.5625rem 1.25rem;
}

.top-lineup__banner-icon {
	height: 4rem;
	margin-inline: auto;
	width: 4rem;
}

.top-lineup__banner-title-group {
	font-weight: 700;
	margin-block-start: 0.625rem;
	position: relative;
	text-align: center;
}

.top-lineup__banner-title-group::after {
	background-color: #fff;
	bottom: -0.6875rem;
	content: "";
	height: 0.1875rem;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 4.125rem;
}

.top-lineup__banner-title-en {
	font-family: Montserrat, sans-serif;
	font-size: 1.75rem;
}

.top-lineup__banner-title-jp {
	margin-block-start: -0.375rem;
}

.top-lineup__banner-text {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 150%;
	margin-block-start: 1.4375rem;
}

.top-lineup__banner-image {
	flex: 1;
}

.top-lineup__banner-image img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-lineup__btn-wrapper {
	margin-block-start: 2.375rem;
	text-align: center;
}

.top-lineup__btn-list {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	-moz-column-gap: 0.75rem;
	background-color: #EFEAD4;
	border-radius: 2.8125rem;
	column-gap: 0.75rem;
	padding: 0.46875rem 0.6875rem;
	text-align: center;
}

.top-lineup__btn-item {
	align-items: center;
	background-color: transparent;
	border: 0.0625rem solid #000000;
	border-radius: 2.8125rem;
	cursor: pointer;
	display: flex;
	font-family: Montserrat, sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	height: 2.9375rem;
	justify-content: center;
	line-height: 1.2;
	transition: background-color 0.4s ease, color 0.4s ease;
	width: 9.875rem;
}

.top-lineup__btn-item:first-child {
	width: 5.75rem;
}

.top-lineup__btn-item.is-active {
	background-color: #000000;
	color: #fff;
}

.top-lineup__btn-plus {
	display: none;
}

.top-lineup__list {
	display: grid;
	gap: 4.25rem 4.5625rem;
	grid-template-columns: repeat(3, 17.5rem);
	margin-block-start: 2.6875rem;
}

.top-lineup__item {
	display: flex;
	flex-direction: column;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.top-lineup__item.is-hide {
	display: none;
	opacity: 0;
	transform: translateY(0.625rem);
}

.top-lineup__item:not(.is-hide) {
	animation: fadeInUp 0.5s ease forwards;
}

.top-lineup__visual {
	background-color: #EFEAD4;
	border-radius: 2rem;
	min-height: 17.5rem;
	padding: 1.625rem 1.96875rem 1.5rem;
	position: relative;
}

.top-lineup__item-img {
	aspect-ratio: 215/230;
	height: auto;
	margin-inline: auto;
	min-height: 0.0625rem;
	min-width: 0.0625rem;
	width: 13.4375rem;
}

.top-lineup__badge-new {
	left: 0.25rem;
	position: absolute;
	top: 0.375rem;
	z-index: 2;
}

.top-lineup__badge-type {
	position: absolute;
	right: 0.75rem;
	top: 0.6875rem;
	z-index: 2;
}

.top-lineup__content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding-block-start: 0.6875rem;
}

.top-lineup__series-name {
	font-family: Montserrat, sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
}

.top-lineup__item-title {
	font-size: 1.4375rem;
	font-weight: 700;
	margin-block-start: -0.1875rem;
	min-height: 1.5em;
}

.top-lineup__item-info {
	background: #EFEFEF;
	border-radius: 0 2rem 2rem 2rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: space-between;
	margin-block-start: 0.75rem;
	min-height: 9.875rem;
	padding: 1.125rem 1.25rem 1.3125rem;
}

.top-lineup__item-text {
	font-size: 0.875rem;
	font-weight: 500;
	text-align: left;
}

.top-lineup__item-link {
	align-items: center;
	background: linear-gradient(90deg, #000 0%, #CA0103 100%);
	border-radius: 2.8125rem;
	display: inline-flex;
	gap: 0.375rem;
	margin-inline: auto;
	padding: 0.625rem 0.8125rem 0.8125rem 2.125rem;
	width: -moz-fit-content;
	width: fit-content;
}

.top-lineup__item-link span {
	color: #FFF;
	font-weight: 700;
}

.top-lineup__item-link img {
	flex-shrink: 0;
	height: 0.875rem;
	transform: translateY(0.09375rem);
	width: 0.875rem;
}

/* フィルタリングによる登場アニメーション */

/*===================================================================
# Top Guide
===================================================================*/

.top-guide {
	background-color: #666;
	background-image: url("../../assets/img/common/spice-guide-back.webp");
	padding-block: 9.75rem 7.125rem;
}

.top-guide__title {
	color: #FFF;
	font-size: 2.875rem;
	font-weight: 700;
	line-height: 3.375rem;
	text-align: center;
}

.top-guide__message {
	color: #FFF;
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.35rem;
	line-height: 3.375rem; /* 192.857% */
	margin-block-start: 0.1875rem;
	text-align: center;
}

/*===================================================================
# Top Special
===================================================================*/

.top-special {
	background-color: #EFEAD4;
	padding-block: 8.375rem;
}

.top-special__inner {
	position: relative;
}

.top-special__title-wrapper {
	text-align: center;
}

.top-special__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.3rem;
	line-height: 225%;
}

.top-special__title-jp {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 150%;
}

.top-special__slider {
	margin-block-start: 1.3125rem;
	position: static;
}

.top-special__slider .swiper-button-lock {
	display: none !important;
}

.top-special__slider-controls {
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 100%;
	z-index: 10;
}

.top-special__slider-item {
	height: auto;
}

.top-special__slider-link {
	display: block;
	text-align: left;
	transition: opacity 0.3s;
	width: 100%;
}

.top-special__slider-link:hover {
	opacity: 0.8;
}

.top-special__slider-img-container {
	aspect-ratio: 280/500;
	background-color: #fff;
	border-radius: 2rem;
	overflow: hidden;
}

.top-special__slider-img-container img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-special__slider-text-group {
	display: flex;
	-moz-column-gap: 0.9375rem;
	column-gap: 0.9375rem;
	margin-block-start: 1.0625rem;
}

.top-special__slider-item-title {
	color: #000000;
	font-size: 1.4375rem;
	font-weight: 700;
}

.top-special__slider-icon-arrow {
	flex-shrink: 0;
	height: 2.625rem;
	margin-block-start: 0.4375rem;
	width: 2.625rem;
}

.top-special__slider-arrow {
	background: none;
	border: none;
	cursor: pointer;
	height: auto;
	padding: 0;
	pointer-events: auto;
	position: absolute;
	top: 60%;
	translate: 0 -50%;
	width: 3rem;
	z-index: 10;
}

.top-special__slider-arrow::after {
	display: none;
}

.top-special__slider-arrow img {
	height: auto;
	width: 100%;
}

.top-special__slider-arrow--prev {
	left: calc(50% - 12.5rem);
}

.top-special__slider-arrow--prev img {
	transform: scaleX(-1);
}

.top-special__slider-arrow--next {
	right: calc(50% - 12.5rem);
}

.top-special__slider-arrow.swiper-button-disabled {
	opacity: 0.3;
	pointer-events: none;
}

.top-special__modal {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	opacity: 0;
	position: fixed;
	transition: 0.3s;
	visibility: hidden;
	z-index: 1000;
}

.top-special__modal.is-open {
	backdrop-filter: blur(0.5rem);
	opacity: 1;
	visibility: visible;
	-webkit-backdrop-filter: blur(0.5rem);
}

.top-special__modal-overlay {
	background: rgba(0, 0, 0, 0.6);
	cursor: pointer;
	inset: 0;
	position: absolute;
}

.top-special__modal-content {
	max-width: 25rem;
	pointer-events: none;
	position: relative;
	width: 90%;
	z-index: 1;
}

.top-special__modal-video-inner {
	align-items: center;
	aspect-ratio: 9/16;
	border-radius: 2rem;
	box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.5);
	display: flex;
	height: 100%;
	justify-content: center;
	overflow: hidden;
	pointer-events: auto;
	position: relative;
	width: 100%;
}

.top-special__modal-video-inner #modal-video-player {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.top-special__modal-video-inner #modal-video-player iframe {
	border: none;
	height: 100%;
	width: 100%;
}

.top-special__modal-video-inner iframe {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.top-special__modal-close {
	cursor: pointer;
	height: 2.5rem;
	pointer-events: auto;
	position: absolute;
	right: -3.75rem;
	top: -3.75rem;
	width: 2.5rem;
	z-index: 10;
}

.top-special__modal-close::before,
.top-special__modal-close::after {
	background-color: #fff;
	content: "";
	height: 0.125rem;
	left: 50%;
	position: absolute;
	top: 50%;
	width: 100%;
}

.top-special__modal-close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.top-special__modal-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.top-special__modal-close span {
	display: none;
}

/*===================================================================
# Top Store
===================================================================*/

.top-store {
	padding-block: 7.6875rem 8.5625rem;
}

.top-store__title-wrapper {
	text-align: center;
}

.top-store__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.3rem;
	line-height: 225%;
}

.top-store__title-jp {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 150%;
	margin-block-start: -0.125rem;
}

.top-store__note-list {
	margin-block-start: 1rem;
}

.top-store__note-item {
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 150%;
	padding-left: 1em;
	text-align: center;
	text-align: center;
	text-indent: -1em;
}

.top-store__list {
	background-image: radial-gradient(circle, black 0.0625rem, transparent 0.09375rem), radial-gradient(circle, black 0.0625rem, transparent 0.09375rem), radial-gradient(circle, black 0.0625rem, transparent 0.09375rem), radial-gradient(circle, black 0.0625rem, transparent 0.09375rem);
	background-position: left top, 0 33.3%, 0 66.6%, left bottom; /* 100% 位置 */
	background-repeat: repeat-x;
	background-size: 0.3125rem 0.125rem;
	display: grid;
	gap: 2.625rem;
	grid-template-columns: repeat(2, 1fr);
	margin-block-start: 1.875rem;
	padding-block: 1.5rem 1.3125rem;
	position: relative;
}

.top-store__item {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.top-store__item:nth-child(odd) { /* 奇数番目のアイテムの右に縦線をつける */
}

.top-store__item:nth-child(odd)::after {
	background-image: radial-gradient(circle, black 0.0625rem, transparent 0.09375rem);
	background-position: center;
	background-repeat: repeat-y;
	background-size: 0.125rem 0.3125rem;
	content: "";
	height: 100%;
	position: absolute;
	right: -1.3125rem;
	top: 0;
	width: 0.125rem;
}

.top-store__item:first-child { /* 1つ目のアイテム */
}

.top-store__item:first-child .top-store__item-btn {
	padding: 0.5rem 0.6875rem 0.5rem 1.75rem;
	-moz-column-gap: 0.5625rem;
	column-gap: 0.5625rem;
}

.top-store__item:first-child .top-store__item-btn span {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 0.75rem;
}

.top-store__item-name {
	font-size: 1.125rem;
	font-weight: 700;
}

.top-store__item-link {
	display: flex;
	-moz-column-gap: 0.3125rem;
	column-gap: 0.3125rem;
	margin-block-start: 1rem;
}

.top-store__item-link img {
	height: 1rem;
	width: 1rem;
}

.top-store__item-link span {
	font-family: Montserrat, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
}

.top-store__item-address {
	font-size: 0.875rem;
	font-weight: 700;
	margin-block-start: 0.8125rem;
}

.top-store__item-tel {
	align-items: center;
	display: flex;
	-moz-column-gap: 0.1875rem;
	column-gap: 0.1875rem;
	margin-block-start: 0.25rem;
}

.top-store__item-tel img {
	height: 1rem;
	width: 1rem;
}

.top-store__item-tel span {
	color: #000;
	font-family: Montserrat, sans-serif;
	font-weight: 700;
}

.top-store__item-btn {
	align-items: center;
	background: #000000;
	border: 0.0625rem solid #FFF;
	border-radius: 2.8125rem;
	display: inline-flex;
	gap: 0.75rem;
	justify-content: flex-end;
	margin-block-start: auto;
	padding: 0.3125rem 0.6875rem 0.3125rem 2.1875rem;
	width: -moz-fit-content;
	width: fit-content;
}

.top-store__item-btn span {
	color: #FFF;
	font-family: Montserrat, sans-serif;
	font-size: 1rem;
	font-weight: 700;
}

.top-store__item-btn img {
	height: 0.875rem;
	width: 0.875rem;
}

/*===================================================================
# Line up
===================================================================*/

.line-up {
	background-color: #EFEAD4;
	padding-block-end: 7.125rem;
}

.line-up__header {
	background: url(../../assets/img/product/header_lineup_bg.webp) center center/cover no-repeat;
	border-radius: 0 0 4rem 4rem;
	overflow: hidden;
	padding-block: 4.25rem 1.125rem;
}

.line-up__title-wrapper {
	text-align: center;
}

.line-up__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.225rem;
	line-height: 300%;
}

.line-up__title-jp {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 225%;
	margin-block-start: -1.4375rem;
}

.line-up__banner-card {
	background-color: #000000;
	border-radius: 2rem;
	display: flex;
	height: 18.3125rem;
	margin-block-start: 2.25rem;
	overflow: hidden;
	width: 61.5625rem;
}

.line-up__banner-info {
	align-items: center;
	color: #fff;
	display: flex;
	flex: 0 0 16.25rem;
	flex-direction: column;
	padding: 1.625rem 1.5625rem 1.25rem;
}

.line-up__banner-icon {
	height: 4rem;
	margin-inline: auto;
	width: 4rem;
}

.line-up__banner-title-group {
	font-weight: 700;
	margin-block-start: 0.625rem;
	position: relative;
	text-align: center;
}

.line-up__banner-title-group::after {
	background-color: #fff;
	bottom: -0.6875rem;
	content: "";
	height: 0.1875rem;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 4.125rem;
}

.line-up__banner-title-en {
	font-family: Montserrat, sans-serif;
	font-size: 1.75rem;
}

.line-up__banner-title-jp {
	margin-block-start: -0.375rem;
}

.line-up__banner-text {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 150%;
	margin-block-start: 1.4375rem;
}

.line-up__banner-image {
	flex: 1;
}

.line-up__banner-image img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.line-up__info {
	background-color: #fff;
	border-radius: 2rem;
	margin-block-start: 2.25rem;
	padding: 2.5rem 2.5rem 2.375rem;
}

.line-up__main {
	display: flex;
	-moz-column-gap: 3.3125rem;
	column-gap: 3.3125rem;
}

.line-up__gallery {
	height: auto;
	max-width: 26.9375rem;
	width: 100%;
}

.line-up__main-slider {
	border-radius: 2rem;
	height: 100%;
	max-height: 26.9375rem;
	overflow: hidden;
	width: 100%;
}

.line-up__main-slider picture {
	display: block;
}

.line-up__main-slider img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.line-up__thumb-slider {
	margin-block-start: 1.375rem;
	padding: 0.125rem;
}

.line-up__thumb-slider .swiper-slide {
	aspect-ratio: 1/1;
	border-radius: 1rem;
	cursor: pointer;
	height: auto;
	opacity: 0.6;
	outline: 0.125rem solid transparent;
	outline-offset: -0.125rem;
	overflow: hidden;
	transition: opacity 0.3s;
	width: 5.46875rem;
}

.line-up__thumb-slider .swiper-slide img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.line-up__thumb-slider .swiper-slide-thumb-active {
	opacity: 1;
	outline-color: #CA0103;
}

.line-up__summary-info {
	display: flex;
	-moz-column-gap: 0.5rem;
	align-items: center;
	column-gap: 0.5rem;
}

.line-up__summary-series {
	align-items: center;
	border: 0.0625rem solid #000000;
	border-radius: 1.5rem;
	display: flex;
	font-family: Montserrat, sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	height: 2.9375rem;
	justify-content: center;
	line-height: 1.2;
	text-align: center;
	width: 9.875rem;
}

.line-up__summary-badges {
	display: flex;
	-moz-column-gap: 0.5rem;
	align-items: center;
	column-gap: 0.5rem;
}

.line-up__badge {
	aspect-ratio: 1/1;
	height: auto;
	width: 2.9375rem;
}

.line-up__title {
	font-size: 2rem;
	font-weight: 700;
	line-height: 75%;
	margin-block-start: 1.25rem;
}

.line-up__description {
	font-weight: 700;
	line-height: 150%;
	margin-block-start: 1.125rem;
}

.line-up__others {
	margin-block-start: 2.25rem;
}

.line-up__others-title {
	color: #CA0103;
	font-weight: 700;
}

.line-up__others-list {
	display: flex;
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	margin-block-start: 0.5rem;
}

.line-up__others-item {
	align-items: center;
	aspect-ratio: 1/1;
	background-color: #EFEAD4;
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	height: auto;
	padding-block: 0.8125rem 0.40625rem;
	text-align: center;
	width: 8.0625rem;
}

.line-up__other-img {
	aspect-ratio: 73.5/78.6;
	height: auto;
	width: 4.59375rem;
}

.line-up__other-series {
	font-family: Montserrat, sans-serif;
	font-size: 0.625rem;
	font-weight: 700;
	margin-block-start: 0.30625rem;
}

.line-up__other-name {
	font-size: 0.625rem;
	font-style: normal;
	font-weight: 700;
	line-height: 110%;
}

.line-up__shop-link {
	align-items: center;
	background: linear-gradient(90deg, #000 0%, #CA0103 100%);
	border-radius: 2.8125rem;
	display: inline-flex;
	gap: 0.375rem;
	margin-block-start: 1.9375rem;
	padding: 0.625rem 1.25rem 0.8125rem;
	width: -moz-fit-content;
	width: fit-content;
}

.line-up__shop-link span {
	color: #FFF;
	font-weight: 700;
}

.line-up__shop-link img {
	flex-shrink: 0;
	height: 0.875rem;
	transform: translateY(0.125rem);
	width: 0.875rem;
}

.line-up__spec {
	padding: 3.1875rem 0;
}

.line-up__spec-inner {
	display: flex;
	justify-content: space-between;
}

.line-up__spec-title {
	font-size: 1.5rem;
	font-weight: 700;
	position: relative;
	text-align: center;
}

.line-up__spec-title::after {
	background-color: #EFEAD4;
	bottom: -1.0625rem;
	content: "";
	height: 0.25rem;
	left: 50%;
	position: absolute;
	translate: -50%;
	width: 100%;
}

.line-up__ingredients,
.line-up__nutrition {
	max-width: 26.875rem;
	width: 100%;
}

.line-up__ingredients-list {
	margin-block-start: 1.875rem;
}

.line-up__ingredients-label {
	font-weight: 700;
}

.line-up__ingredients-item {
	font-weight: 500;
}

.line-up__nutrition-note-group {
	display: flex;
	justify-content: space-between;
	margin-block-start: 1.875rem;
}

.line-up__nutrition-note {
	font-weight: 500;
}

.line-up__nutrition-note--strong {
	font-weight: 700;
}

.line-up__nutrition-note--small {
	font-size: 0.875rem;
	font-weight: 500;
}

.line-up__nutrition-table {
	border-collapse: separate;
	border-spacing: 0 0.25rem;
	margin-block-start: 0.375rem;
	width: 100%;
}

.line-up__nutrition-table th,
.line-up__nutrition-table td {
	font-weight: 700;
	padding: 0.34375rem 0.625rem;
}

.line-up__nutrition-table th {
	background-color: #EFEAD4;
	text-align: left;
	width: 16.1875rem;
}

.line-up__nutrition-table td {
	background: rgba(239, 234, 212, 0.5);
	text-align: right;
}

.line-up__nutrition-caution {
	font-size: 0.875rem;
	font-weight: 500;
	margin-block-start: 0.125rem;
}

.line-up__howto {
	background-color: #EFEFEF;
	border-radius: 2rem;
	padding: 2.0625rem 1.75rem;
}

.line-up__howto-inner {
	display: flex;
	-moz-column-gap: 1.3125rem;
	column-gap: 1.3125rem;
}

.line-up__howto-oven,
.line-up__howto-boil {
	background-color: #fff;
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
}

.line-up__howto-oven {
	flex: 0 0 39.5rem;
	padding: 1.125rem 1.3125rem 1.5rem;
}

.line-up__howto-boil {
	flex: 1;
	padding: 1.125rem 0.625rem 0;
}

.line-up__howto-title {
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
}

.line-up__howto-item-group {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	-moz-column-gap: 1.75rem;
	column-gap: 1.75rem;
}

.line-up__howto-item img {
	aspect-ratio: 1/1;
	height: auto;
	margin-block-start: 0.8125rem;
	margin-inline: auto;
	width: 7.8125rem;
}

.line-up__howto-item-text {
	font-size: 0.875rem;
	font-weight: 500;
	margin-block-start: 0.625rem;
}

.line-up__howto-note {
	font-size: 0.75rem;
	font-weight: 500;
	margin-block-start: 1.125rem;
}

.line-up__howto-note--boil {
	margin-block-start: 2.4375rem;
}

/*===================================================================
# Recipe（レシピ一覧）
===================================================================*/

.recipe {
	background: #EFEAD4;
	padding-block-end: 7.8125rem;
}

.recipe__header {
	background: url(../../assets/img/recipe/header_bg.webp) center center/cover no-repeat;
	border-radius: 0 0 4rem 4rem;
	overflow: hidden;
	padding-block: 8.25rem 9.1875rem;
}

.recipe__title-wrapper {
	text-align: center;
}

.recipe__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.3rem;
	line-height: 225%;
}

.recipe__title-jp {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 150%;
	margin-block-start: -0.5625rem;
}

.recipe__content {
	margin-block-start: -6.5625rem;
}

.recipe__inner {
	max-width: 90rem;
}

.recipe__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 61.25rem;
	row-gap: 3.375rem;
}

.recipe__item {
	max-width: 17.5rem;
	width: 100%;
}

.recipe__item-img-container {
	border-radius: 2rem;
	overflow: hidden;
}

.recipe__item-img {
	aspect-ratio: 280/200;
	height: auto;
	width: 100%;
}

.recipe__item-title {
	display: -webkit-box;
	font-size: 1.4375rem;
	font-weight: 700;
	margin-block-start: 0.75rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/*===================================================================
# Recipe-detail
===================================================================*/

.recipe-detail {
	background-color: #EFEAD4;
}

.recipe-detail__header {
	background: url(../../assets/img/recipe/header_detail_bg.webp) center center/cover no-repeat;
	border-radius: 0 0 4rem 4rem;
	overflow: hidden;
	padding-block: 4.375rem 1.125rem;
}

.recipe-detail__title-wrapper {
	text-align: center;
}

.recipe-detail__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.225rem;
	line-height: 300%;
}

.recipe-detail__title-jp {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 225%;
	margin-block-start: -1.4375rem;
}

.recipe-detail__body {
	padding-block: 3.625rem 7.5rem;
}

.recipe-detail__title {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 150%;
	text-align: center;
}

.recipe-detail__intro-card {
	background-color: #fff;
	border-radius: 2rem;
	display: flex;
	margin-block-start: 2.0625rem;
	overflow: hidden;
}

.recipe-detail__intro-visual {
	aspect-ratio: 493/352;
	border-radius: 2rem;
	flex: 0 0 30.8125rem;
	height: auto;
	overflow: hidden;
	width: 100%;
}

.recipe-detail__intro-info {
	padding: 1.625rem 1.875rem;
}

.recipe-detail__intro-text {
	font-weight: 700;
	line-height: 150%;
}

.recipe-detail__recommend {
	margin-block-start: 1.25rem;
}

.recipe-detail__recommend-label {
	color: #CA0103;
	font-weight: 700;
}

.recipe-detail__recommend-product {
	align-items: center;
	aspect-ratio: 1/1;
	background-color: #EFEAD4;
	border-radius: 1.25rem;
	display: flex;
	flex-direction: column;
	height: auto;
	margin-block-start: 0.375rem;
	padding-block: 0.875rem 0.625rem;
	text-align: center;
	width: 9.4375rem;
}

.recipe-detail__recommend-img {
	aspect-ratio: 92/99;
	height: auto;
	width: 5.75rem;
}

.recipe-detail__recommend-series {
	font-family: Montserrat, sans-serif;
	font-size: 0.625rem;
	font-weight: 700;
	margin-block-start: 0.1875rem;
}

.recipe-detail__recommend-name {
	font-size: 0.625rem;
	font-style: normal;
	font-weight: 700;
	line-height: 150%;
	margin-block-start: -0.1875rem;
}

.recipe-detail__recipe-card {
	background-color: #fff;
	border-radius: 2rem;
	margin-block-start: 1.5rem;
	padding: 2.5625rem 2.5625rem 2.375rem;
}

.recipe-detail__recipe-columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	-moz-column-gap: 2.5625rem;
	column-gap: 2.5625rem;
}

.recipe-detail__recipe-col {
	display: flex;
	flex-direction: column;
}

.recipe-detail__recipe-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.recipe-detail__recipe-heading {
	color: #CA0103;
	font-size: 1.5rem;
	font-weight: 700;
}

.recipe-detail__recipe-badge-volume {
	align-items: center;
	background-color: #CA0103;
	border-radius: 2.8125rem;
	color: #fff;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.05rem;
	padding: 0.25rem 1.84375rem;
}

.recipe-detail__recipe-badge-volume--num {
	font-size: 1.5rem;
	letter-spacing: 0.075rem;
	padding-block-end: 0.1875rem;
}

.recipe-detail__recipe-box {
	border: 0.125rem solid #979797;
	border-radius: 1rem;
	flex-grow: 1;
	margin-block-start: 1.125rem;
	padding: 1.5rem;
}

.recipe-detail__ingredients {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 171.5%;
}

.recipe-detail__recipe-badge-time {
	align-items: center;
	align-items: center;
	background-color: #CA0103;
	border-radius: 2.8125rem;
	color: #fff;
	display: flex;
	justify-content: center;
	padding: 0.1875rem 1.1875rem;
}

.recipe-detail__recipe-badge-time img {
	flex-shrink: 0;
	height: 1.375rem;
	margin-inline-end: 0.375rem;
	width: 1.375rem;
	-o-object-fit: contain;
	object-fit: contain;
}

.recipe-detail__recipe-badge-text {
	font-weight: 700;
	letter-spacing: 0.05rem;
	padding-block-end: 0.3125rem;
}

.recipe-detail__recipe-badge-text--num {
	font-size: 1.5rem;
	letter-spacing: 0.075rem;
}

.recipe-detail__instructions-list {
	counter-reset: recipe-step;
	list-style: none;
	padding: 0;
}

.recipe-detail__instructions-item {
	counter-increment: recipe-step;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 171.5%;
	padding-inline-start: 1.5rem;
	position: relative;
}

.recipe-detail__instructions-item::before {
	align-items: center;
	border: 0.0625rem solid currentColor;
	border-radius: 50%;
	content: counter(recipe-step);
	display: flex;
	font-size: 0.625rem;
	font-weight: 500;
	height: 0.875rem;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0.5em;
	width: 0.875rem;
}

/*===================================================================
# Blog
===================================================================*/

.blog {
	background: #EFEAD4;
	padding-block-end: 7.75rem;
}

.blog__header {
	background: linear-gradient(90deg, #00AEB1 0%, #4AD1D3 100%);
	border-radius: 0 0 4rem 4rem;
	padding-block: 7.9375rem 9.1875rem;
}

.blog__title-wrapper {
	color: #FFF;
	text-align: center;
}

.blog__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.3rem;
	line-height: 225%;
}

.blog__title-jp {
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 150%;
	margin-block-start: -0.5625rem;
}

.blog__content {
	margin-block-start: -7.6875rem;
}

.blog__inner {
	max-width: 90rem;
}

.blog__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 61.25rem;
	row-gap: 4rem;
}

.blog__item {
	max-width: 17.5rem;
	width: 100%;
}

.blog__item-img-container {
	border-radius: 8.75rem;
	overflow: hidden;
}

.blog__item-img {
	aspect-ratio: 1/1;
	height: auto;
	width: 100%;
}

.blog__item-title {
	display: -webkit-box;
	font-size: 1.4375rem;
	font-weight: 700;
	margin-block-start: 0.75rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/*===================================================================
# BLog-detail
===================================================================*/

.blog-detail {
	background: #EFEAD4;
}

.blog-detail__header {
	background: linear-gradient(90deg, #00AEB1 0%, #4AD1D3 100%);
	border-radius: 0 0 4rem 4rem;
	padding-block: 4.25rem 1.125rem;
}

.blog-detail__title-wrapper {
	color: #FFF;
	text-align: center;
}

.blog-detail__title-en {
	font-family: "Bodoni Moda", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.225rem;
	line-height: 300%;
}

.blog-detail__title-jp {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 225%;
	margin-block-start: -1.5rem;
}

.blog-detail__body {
	padding-block: 4.1875rem 6.75rem;
}

.blog-detail__body-head {
	display: flex;
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
}

.blog-detail__texts {
	flex: 1;
	margin-block-start: 1.5625rem;
}

.blog-detail__title {
	font-size: 2.875rem;
	font-weight: 900;
	line-height: 3.875rem; /* 134.783% */
}

.blog-detail__lead {
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 500;
	line-height: 2.5rem; /* 200% */
	margin-block-start: 1.25rem;
}

.blog-detail__eye-catch {
	aspect-ratio: 1/1;
	border-radius: 50%;
	display: block;
	flex: 0 0 23.125rem;
	height: auto;
	overflow: hidden;
	width: 100%;
}

.blog-detail__eye-catch img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.blog-detail__index {
	background-color: #fff;
	border-radius: 2rem;
	margin-block-start: 2.4375rem;
	padding: 2.0625rem 2.25rem;
}

.blog-detail__index-title {
	font-size: 2rem;
	font-weight: 700;
}

.blog-detail__index-list {
	list-style: none;
	padding: 0;
}

.blog-detail__index-list li {
	padding-inline-start: 1.5rem;
	position: relative;
}

.blog-detail__index-list li::before {
	content: "・";
	font-size: 1.5rem;
	font-weight: 700;
	left: 0;
	position: absolute;
	top: 0.40625rem;
}

.blog-detail__index-list li > a {
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 700;
	line-height: 200%;
	text-decoration: underline;
}

.blog-detail__content {
	padding-block-start: 2.5rem;
}

.blog-detail__content h2 {
	font-size: 2rem;
	font-weight: 900;
}

.blog-detail__content p + h2,
.blog-detail__content h2 + h2 {
	margin-block-start: 2.5rem;
}

.blog-detail__content p {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 200%;
	margin-block-start: 0.625rem;
}

/*===================================================================
# Show
===================================================================*/

.show__sp-only {
	display: none;
}

@media (any-hover: hover) {

.blog-detail__index-list li > a:hover {
	text-decoration: none;
}

}

@media screen and (min-width: 751px) and (max-width: 1440px) {

html {
	font-size: calc(16 / 1440 * 100vw);
}

}

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

html {
	font-size: 16px;
}

}

@media (min-width: 1441px) {

.header__panel {
	border-radius: 0 2rem 2rem 0;
}

}

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

html {
	font-size: calc(16 / 375 * 100vw);
	scroll-padding-top: 100px;
}

.header {
	left: auto;
	top: 0;
}

.header__panel {
	border-radius: 0 0 0 1.5rem;
	display: flex;
	flex-direction: column;
	padding: 0;
	width: 22.1875rem;
}

.header__panel-top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 1.125rem 1.25rem 1.3125rem;
	width: 100%;
}

.header__logo-img {
	width: 9.4375rem;
}

.header__nav {
	display: none;
}

.header__icon-group {
	display: flex;
	-moz-column-gap: 1.375rem;
	column-gap: 1.375rem;
}

.header__sns {
	margin-block-start: 0;
	margin-inline-start: 0;
}

.header__sns-title {
	display: none;
}

.header__sns-img {
	width: 1.75rem;
}

.footer {
	padding-block: 5.25rem 1.6875rem;
}

.footer__nav {
	display: none;
}

.footer__company-link {
	font-size: 1rem;
	margin-block-start: 1.9375rem;
}

.drawer {
	display: block;
}

.drawer__icon {
	display: flex;
}

.side-banner {
	top: 5.6875rem;
}

.side-banner a {
	border-radius: 1.5rem 0 0 1.5rem;
	height: 5rem;
	justify-content: flex-start;
	padding: 0.625rem 1.25rem 0.625rem 0.625rem;
	width: 5.625rem;
}

.side-banner__img {
	padding-block-start: 0;
	width: 3.75rem;
}

.side-banner__info {
	display: none;
}

.recipe-slider {
	padding-block-end: 7.5625rem;
}

.recipe-slider__header {
	background-image: url(../../assets/img/common/header_recipe_slider_bg_sp.webp);
	border-radius: 0;
	padding-block: 8.125rem 9.25rem;
}

.recipe-slider__title-en {
	font-size: 1.25rem;
	letter-spacing: 0.25rem;
}

.recipe-slider__title-jp {
	font-size: 2rem;
	margin-block-start: -0.6875rem;
}

.recipe-slider__container {
	margin-block-start: -7.9375rem;
}

.recipe-slider__controls {
	margin-block-start: 2.5rem;
}

.recipe-slider__arrow {
	display: none;
}

.blog-slider {
	padding-block: 6.0625rem 6.125rem;
}

.blog-slider__title-wrapper {
	margin-block-end: 2rem;
}

.blog-slider__title-en {
	font-size: 1.25rem;
	letter-spacing: 0.25rem;
}

.blog-slider__title-jp {
	font-size: 2rem;
	margin-block-start: -0.8125rem;
}

.blog-slider__controls {
	margin-block-start: 3.3125rem;
}

.blog-slider__arrow {
	display: none;
}

.pagination {
	margin-block-start: 3.3125rem;
}

.pagination__list {
	-moz-column-gap: 1.09375rem;
	column-gap: 1.09375rem;
}

.pagination__link {
	font-size: 1.375rem;
}

.pagination__arrow {
	height: 2.0625rem;
	width: 2.0625rem;
}

.top-fv {
	background-image: url(../../assets/img/top/fv_bg_sp.webp);
	background-position: top center;
	padding-block: 18.8125rem 19.65625rem;
}

.top-fv__logo {
	margin-inline: 3.75rem auto;
	width: 10.4375rem;
}

.top-fv__titles {
	left: calc(50% + 2.9375rem);
	top: calc(50% - 6.875rem);
	-moz-column-gap: 0.5625rem;
	column-gap: 0.5625rem;
}

.top-fv__sub-title {
	height: 10.125rem;
	width: 0.6875rem;
}

.top-fv__title {
	height: 13.9375rem;
	width: 3.8125rem;
}

.top-fv__scroll-wrapper {
	bottom: -19.5rem;
}

.top-fv__scroll {
	font-size: 0.875rem;
	letter-spacing: 0.175rem;
	line-height: 257%;
}

.top-fv__note {
	align-items: flex-start;
	display: flex;
	height: 9.8125rem;
	width: 22.1875rem;
	-moz-column-gap: 0.75rem;
	bottom: 3rem;
	column-gap: 0.75rem;
	overflow: hidden;
	padding: 1.1875rem 1.3125rem 1.1875rem 0.8125rem;
	top: auto;
}

.top-fv__note.is-open {
	height: 22.4375rem !important;
}

.top-fv__note-title {
	font-size: 0.875rem;
	letter-spacing: 0.175rem;
	margin-inline: 0 auto;
	text-orientation: mixed;
	writing-mode: vertical-rl;
}

.top-fv__note-card {
	display: flex;
	-moz-column-gap: 0.5625rem;
	column-gap: 0.5625rem;
}

.top-fv__note-thumb {
	background-clip: padding-box;
	flex-shrink: 0;
	height: 7.3125rem;
	margin-block-start: 0;
	width: 7.3125rem;
}

.top-fv__note-card-texts {
	margin-block-start: 0.5rem;
}

.top-fv__note-card-name {
	font-size: 1.125rem;
	line-height: 117%;
	margin-block-start: 0;
}

.top-fv__note-description-container {
	height: 15.75rem;
	margin-block-start: 0.375rem;
}

.top-fv__note-description {
	display: -webkit-box;
	font-size: 0.875rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.top-fv__note.is-open .top-fv__note-description {
	display: block;
	-webkit-line-clamp: none;
}

.top-fv__note-pagination.swiper-pagination-bullets {
	bottom: 1rem;
	justify-content: flex-end;
	left: auto;
	right: 1.3125rem;
	transform: none;
	width: auto;
}

.top-fv__note-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
	height: 0.5625rem;
	width: 0.5625rem;
}

.top-fv__note-arrow-btn {
	display: block;
}

.top-fv__note.is-open .top-fv__note-arrow-btn {
	transform: rotate(180deg);
}

.top-concept {
	padding-block: 6.625rem 7.3125rem;
}

.top-concept__inner {
	padding-inline: 0;
}

.top-concept__content-wrapper {
	flex-direction: column;
	row-gap: 1.125rem;
}

.top-concept__texts {
	padding-inline: 1.25rem;
}

.top-concept__title-en {
	font-size: 1.5rem;
}

.top-concept__title-jp {
	font-size: 1.75rem;
	line-height: 2.625rem; /* 150% */
	margin-block-start: -0.5rem;
}

.top-concept__title-line {
	border-radius: 2.25rem;
	bottom: -1.3125rem;
	width: 8.75rem;
}

.top-concept__message {
	margin-block-start: 2.375rem;
}

.top-concept__img01 {
	border-radius: 3.875rem 0 0 1.5rem;
	margin-inline: auto 0;
	width: 18.75rem;
}

.top-concept__img02 {
	bottom: -7.3125rem;
	left: 0;
	width: 16.1875rem;
}

.top-lineup {
	padding-block: 7.625rem 8.8125rem;
}

.top-lineup__title-en {
	font-size: 1.25rem;
	letter-spacing: 0.25rem;
	line-height: 270%;
}

.top-lineup__title-jp {
	font-size: 2rem;
	line-height: 168.75%;
	margin-block-start: -1.0625rem;
}

.top-lineup__banner-card {
	flex-direction: column;
	height: 27.5rem;
	width: 17.5rem;
}

.top-lineup__banner-info {
	flex: 1 1 auto;
	padding: 1.1875rem 0.75rem;
}

.top-lineup__banner-title-group {
	margin-block-start: 0.4375rem;
}

.top-lineup__banner-title-group::after {
	display: none;
}

.top-lineup__banner-title-en {
	font-size: 1.5rem;
	line-height: 1.1;
}

.top-lineup__banner-title-jp {
	margin-block-start: -0.0625rem;
}

.top-lineup__banner-text {
	line-height: 140%;
	margin-block-start: 0.5625rem;
}

.top-lineup__inner {
	position: relative;
}

.top-lineup__btn-wrapper {
	left: 50%;
	position: absolute;
	top: -7.8125rem;
	translate: -50%;
	z-index: 2;
}

.top-lineup__btn-inner {
	position: relative;
}

.top-lineup__btn-inner.is-open .top-lineup__btn-list {
	height: auto;
	padding-bottom: 0.9375rem;
}

.top-lineup__btn-inner.is-open .top-lineup__btn-item {
	display: flex;
}

.top-lineup__btn-inner.is-open .top-lineup__btn-plus::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.top-lineup__btn-inner.is-open .top-lineup__btn-plus {
	transform: rotate(45deg);
}

.top-lineup__btn-list {
	align-items: flex-start;
	border-radius: 1.9375rem;
	display: flex;
	flex-direction: column;
	height: 3.8125rem;
	overflow: hidden;
	padding: 0.4375rem 0.625rem;
	row-gap: 0.75rem;
	transition: height 0.3s ease;
	width: 17.5rem;
}

.top-lineup__btn-item {
	display: none;
	font-size: 1rem;
	line-height: 1.1;
	order: 2;
	width: 12.875rem;
}

.top-lineup__btn-item.is-active {
	background-color: #000000;
	color: #fff;
	display: flex;
	order: 1;
}

.top-lineup__btn-item:first-child {
	width: 12.875rem;
}

.top-lineup__btn-plus {
	cursor: pointer;
	display: block;
	height: 2.9375rem;
	pointer-events: auto;
	position: absolute;
	right: 0.5625rem;
	top: 0.4375rem;
	transition: transform 0.3s ease;
	width: 2.9375rem;
}

.top-lineup__btn-plus::before,
.top-lineup__btn-plus::after {
	background-color: #fff;
	border-radius: 0.125rem;
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
}

.top-lineup__btn-plus::before {
	height: 0.25rem;
	width: 1.125rem;
}

.top-lineup__btn-plus::after {
	height: 1.125rem;
	width: 0.25rem;
}

.top-lineup__list-container {
	margin-block-start: 7.5rem;
	overflow: visible;
}

.top-lineup__list {
	display: flex;
	gap: 0;
	grid-template-columns: none;
	margin-block-start: 0;
}

.top-guide {
	padding-block: 9.3125rem 7.875rem;
}

.top-guide__title {
	font-size: 2rem;
}

.top-guide__message {
	font-size: 1.25rem;
	letter-spacing: 0.25rem;
	margin-block-start: -0.5rem;
}

.top-special {
	padding-block: 7.3125rem;
}

.top-special__title-en {
	font-size: 1.25rem;
	letter-spacing: 0.25rem;
}

.top-special__title-jp {
	font-size: 2rem;
	line-height: 168.75%;
	margin-block-start: -0.8125rem;
}

.top-special__slider {
	margin-block-start: 2rem;
}

.top-special__slider-controls {
	display: none;
}

.top-special__modal-content {
	max-width: 20rem;
	width: 80%;
}

.top-special__modal-video-inner {
	border-radius: 1.5rem;
}

.top-special__modal-close {
	height: 1.875rem;
	right: 0rem;
	top: -2.5rem;
	width: 1.875rem;
}

.top-store {
	padding-block: 4.375rem 6rem;
}

.top-store__inner {
	padding-inline: 1.25rem;
}

.top-store__title-en {
	font-size: 1.25rem;
	letter-spacing: 0.25rem;
}

.top-store__title-jp {
	font-size: 2rem;
	line-height: 168.75%;
	margin-block-start: -0.0625rem;
}

.top-store__note-list {
	margin-block-start: 0.8125rem;
}

.top-store__note-item {
	text-align: left;
}

.top-store__list {
	background-image: none;
	gap: 0;
	grid-template-columns: 1fr;
	margin-block-start: 1.8125rem;
	padding-block: 0;
}

.top-store__item {
	background-image: radial-gradient(circle, black 0.0625rem, transparent 0.09375rem);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 0.3125rem 0.125rem;
	flex-direction: column;
	padding-block: 1.5rem 1.875rem;
}

.top-store__item:first-child {
	background-image: radial-gradient(circle, black 0.0625rem, transparent 0.09375rem), radial-gradient(circle, black 0.0625rem, transparent 0.09375rem);
	background-position: left top, left bottom; /* 下 */
}

.top-store__item:nth-child(odd)::after {
	display: none;
}

.top-store__item:first-child .top-store__item-btn {
	margin-block-start: 1rem;
}

.top-store__item-btn {
	margin-block-start: -1.3125rem;
	margin-inline: auto 0;
}

.line-up {
	padding-block-end: 5rem;
}

.line-up__header {
	background-image: url(../../assets/img/product/header_lineup_bg_sp.webp);
	border-radius: 0 0 3rem 3rem;
	padding-block: 5.5625rem 0.8125rem;
}

.line-up__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.175rem;
	line-height: 385.714%;
}

.line-up__title-jp {
	font-size: 1.25rem;
	line-height: 270%;
	margin-block-start: -1.75rem;
}

.line-up__banner-card {
	display: none;
}

.line-up__banner-info {
	flex: 1 1 auto;
}

.line-up__info {
	border-radius: 2rem 0 0 2rem;
	margin-block-start: 1.25rem;
	margin-inline-start: 1.25rem;
	padding: 1.25rem 0;
}

.line-up__main {
	flex-direction: column;
	row-gap: 1.6875rem;
}

.line-up__gallery {
	margin-inline-start: 1.25rem;
	max-width: 18.4375rem;
}

.line-up__main-slider {
	height: 18.4375rem;
	max-width: 17.1875rem;
}

.line-up__thumb-slider {
	margin-block-start: 0.9375rem;
}

.line-up__thumb-slider .swiper-slide {
	width: 3.75rem;
}

.line-up__summary {
	padding-inline-start: 1.25rem;
}

.line-up__summary-series {
	font-size: 0.65625rem;
	height: 2.1875rem;
	width: 7.35rem;
}

.line-up__summary-badges {
	-moz-column-gap: 0.371875rem;
	column-gap: 0.371875rem;
}

.line-up__badge {
	width: 2.1875rem;
}

.line-up__title {
	font-size: 1.5rem;
	margin-block-start: 0.9375rem;
}

.line-up__description {
	font-size: 0.875rem;
	margin-block-start: 0.875rem;
}

.line-up__others {
	margin-block-start: 1.375rem;
}

.line-up__others-list {
	-moz-column-gap: 1.09375rem;
	column-gap: 1.09375rem;
	overflow-x: auto;
}

.line-up__others-item {
	flex: 0 0 8.0625rem;
}

.line-up__shop-link {
	margin-block-start: 1.6875rem;
	padding-block: 0.75rem 0.8125rem;
}

.line-up__shop-link span {
	font-size: 1.125rem;
}

.line-up__shop-link img {
	height: 1rem;
	transform: translateY(0.03125rem);
	width: 1rem;
}

.line-up__spec {
	padding-block: 3.5rem;
}

.line-up__spec-inner {
	flex-direction: column;
	padding-inline: 1.25rem;
	row-gap: 1.625rem;
}

.line-up__spec-title {
	font-size: 1.125rem;
}

.line-up__spec-title::after {
	bottom: -0.625rem;
}

.line-up__ingredients,
.line-up__nutrition {
	max-width: none;
	width: 100%;
}

.line-up__ingredients-list {
	margin-block-start: 1.4375rem;
}

.line-up__ingredients-label {
	font-size: 0.875rem;
	line-height: 150%;
}

.line-up__ingredients-item {
	font-size: 0.875rem;
	line-height: 150%;
}

.line-up__nutrition-note-group {
	margin-block-start: 1.1875rem;
}

.line-up__nutrition-note {
	font-size: 0.875rem;
}

.line-up__nutrition-note--small {
	font-size: 0.75rem;
}

.line-up__nutrition-table th {
	width: 11.8125rem;
}

.line-up__nutrition-caution {
	font-size: 0.75rem;
	margin-block-start: 0.28125rem;
}

.line-up__howto {
	margin-inline: 1.25rem;
	padding: 1.25rem;
}

.line-up__howto-inner {
	flex-direction: column;
	row-gap: 1.25rem;
}

.line-up__howto-oven {
	flex: auto;
	padding: 1.5rem 1.25rem 1.5rem;
}

.line-up__howto-boil {
	flex: auto;
	padding: 1.5rem 1.25rem 1.5rem;
}

.line-up__howto-item-group {
	grid-template-columns: 1fr;
}

.line-up__howto-note--boil {
	margin-block-start: 1.125rem;
}

.recipe {
	padding-block-end: 4.4375rem;
}

.recipe__header {
	background-image: url(../../assets/img/recipe/header_bg_sp.webp);
	border-radius: 0 0 3rem 3rem;
	padding-block: 5.5rem 4rem;
}

.recipe__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.175rem;
	line-height: 386%;
}

.recipe__title-jp {
	font-size: 1.25rem;
	line-height: 270%;
	margin-block-start: -1.75rem;
}

.recipe__content {
	margin-block-start: -2.9375rem;
}

.recipe__inner {
	padding-inline: 1.25rem;
}

.recipe__list {
	row-gap: 1.375rem;
}

.recipe__item {
	max-width: 9.9375rem;
}

.recipe__item-img-container {
	border-radius: 1.125rem;
}

.recipe__item-title {
	font-size: 0.875rem;
	margin-block-start: 0.4375rem;
}

.recipe-detail__header {
	background-image: url(../../assets/img/recipe/header_detail_bg_sp.webp);
	border-radius: 0 0 3rem 3rem;
	padding-block: 5.5rem 0.6875rem;
}

.recipe-detail__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.175rem;
	line-height: 385.714%;
}

.recipe-detail__title-jp {
	font-size: 1.25rem;
	line-height: 270%;
	margin-block-start: -1.6875rem;
}

.recipe-detail__body {
	padding-block: 2rem 5rem;
}

.recipe-detail__inner {
	padding-inline: 1.25rem;
}

.recipe-detail__title {
	font-size: 1.5rem;
}

.recipe-detail__intro-card {
	border-radius: 1.375rem;
	flex-direction: column;
	margin-block-start: 1rem;
}

.recipe-detail__intro-visual {
	border-radius: 1.375rem;
	flex: auto;
}

.recipe-detail__intro-info {
	padding: 0.96875rem 1.25rem;
}

.recipe-detail__intro-text {
	font-size: 0.875rem;
}

.recipe-detail__recommend {
	margin-block-start: 1rem;
}

.recipe-detail__recommend-product {
	border-radius: 1rem;
	margin-block-start: 0.53125rem;
	padding-block: 0.84375rem 0.40625rem;
	width: 8.28125rem;
}

.recipe-detail__recommend-img {
	width: 4.6875rem;
}

.recipe-detail__recipe-card {
	margin-block-start: 1.25rem;
	padding: 1.125rem 1.25rem;
}

.recipe-detail__recipe-columns {
	grid-template-columns: 1fr;
	row-gap: 1.25rem;
}

.recipe-detail__recipe-heading {
	font-size: 1.25rem;
}

.recipe-detail__recipe-badge-volume {
	border-radius: 2.28125rem;
	font-size: 0.8125rem;
	padding: 0.15625rem 1.46875rem 0.09375rem;
}

.recipe-detail__recipe-badge-volume--num {
	font-size: 1.21875rem;
	padding-block-end: 0.3125rem;
}

.recipe-detail__recipe-box {
	margin-block-start: 0.8125rem;
	padding: 1.1875rem;
}

.recipe-detail__ingredients {
	line-height: 150%;
}

.recipe-detail__recipe-badge-time {
	border-radius: 2.28125rem;
	padding: 0.125rem 0.875rem;
}

.recipe-detail__recipe-badge-time img {
	height: 1.125rem;
	width: 1.125rem;
}

.recipe-detail__recipe-badge-text {
	font-size: 0.8125rem;
	letter-spacing: 0.040625rem;
}

.recipe-detail__recipe-badge-text--num {
	font-size: 1.21875rem;
	letter-spacing: 0.0609375rem;
}

.recipe-detail__instructions-item {
	padding-inline-start: 1.25rem;
}

.blog {
	padding-block-end: 5.3125rem;
}

.blog__header {
	padding-block: 5.5rem 4rem;
}

.blog__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.175rem;
	line-height: 386%;
}

.blog__title-jp {
	font-size: 1.25rem;
	line-height: 270%;
	margin-block-start: -1.75rem;
}

.blog__content {
	margin-block-start: -2.9375rem;
}

.blog__inner {
	padding-inline: 1.25rem;
}

.blog__list {
	row-gap: 1.3125rem;
}

.blog__item {
	max-width: 9.9375rem;
}

.blog__item-title {
	font-size: 0.875rem;
	margin-block-start: 0.4375rem;
}

.blog-detail__header {
	padding-block: 5.5rem 0.8125rem;
}

.blog-detail__title-en {
	font-size: 0.875rem;
	letter-spacing: 0.175rem;
	line-height: 385.714%;
}

.blog-detail__title-jp {
	font-size: 1.25rem;
	line-height: 270%;
	margin-block-start: -1.8125rem;
}

.blog-detail__body {
	padding-block: 1.6875rem 5.0625rem;
}

.blog-detail__inner {
	padding-inline: 1.25rem;
}

.blog-detail__body-head {
	flex-direction: column-reverse;
}

.blog-detail__texts {
	flex: auto;
	margin-block-start: 1.75rem;
}

.blog-detail__title {
	font-size: 1.5rem;
	line-height: 150%;
}

.blog-detail__lead {
	font-size: 0.875rem;
	line-height: 150%;
	margin-block-start: 0.3125rem;
}

.blog-detail__eye-catch {
	flex: auto;
	margin-inline: auto;
	max-width: 17.5rem;
}

.blog-detail__index {
	border-radius: 1.375rem;
	margin-block-start: 1.25rem;
	padding: 1.46875rem 1.3125rem 1.375rem 1.5rem;
}

.blog-detail__index-title {
	font-size: 1.25rem;
}

.blog-detail__index-list {
	margin-block-start: 0.35375rem;
}

.blog-detail__index-list li {
	padding-inline-start: 1rem;
}

.blog-detail__index-list li::before {
	font-size: 1rem;
	top: 0.21875rem;
}

.blog-detail__index-list li > a {
	font-size: 1rem;
}

.blog-detail__content {
	padding-block-start: 1.25rem;
}

.blog-detail__content h2 {
	font-size: 1.5rem;
	line-height: 150%; /* 150% */
}

.blog-detail__content p + h2,
.blog-detail__content h2 + h2 {
	margin-block-start: 1.5625rem;
}

.blog-detail__content p {
	font-size: 0.875rem;
	line-height: 150%;
	margin-block-start: 0.3125rem;
}

.show__sp-only {
	display: block;
}

}

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

.top-lineup__item {
	height: auto;
	width: 17.5rem;
}

}

@keyframes scroll-line {

0% {
	transform: scaleY(0);
	transform-origin: top;
}

40% {
	transform: scaleY(1);
	transform-origin: top;
}

60% {
	transform: scaleY(1);
	transform-origin: bottom;
}

100% {
	transform: scaleY(0);
	transform-origin: bottom;
}

}

@keyframes fadeInUp {

from {
	opacity: 0;
	transform: translateY(0.625rem);
}

to {
	opacity: 1;
	transform: translateY(0);
}

}

