@charset "UTF-8";
/* レイアウト
------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .p-page-home {
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-page-home {
    padding-bottom: 4.9rem;
  }
}

@media screen and (min-width: 768px) {
  .p-homeSection {
    padding-top: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-homeSection {
    padding-top: 5rem;
  }
}

/* タイトル
------------------------------------------------------------- */
.p-homeSection__title {
  font-family: var(--font-ja-serif);
  text-align: left;
  margin-bottom: 1.3rem;
}
.p-homeSection__title span {
  font-weight: var(--fw-regular);
  display: block;
}

.p-homeSection__title--en {
  font-size: 1.3rem;
  color: var(--color-primary);
}
@media screen and (min-width: 768px) {
  .p-homeSection__title--ja {
    font-size: 3rem;
    margin-top: 0.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-homeSection__title--ja {
    font-size: 2.5rem;
    margin-top: 0.1rem;
  }
}

/* MV
------------------------------------------------------------- */
/* swiper add class
============================================ */
@keyframes slider-progress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
@keyframes re-slider-progress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
.m-homeMainVisual {
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.6s ease;
}
@media screen and (min-width: 768px) {
  .m-homeMainVisual {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .m-homeMainVisual {
    padding-bottom: 1.4rem;
  }
}
.m-homeMainVisual.is-load {
  visibility: visible;
  opacity: 1;
}

.m-homeMainVisual__container {
  position: relative;
  padding: 0;
  margin: 0 auto;
  overflow: visible;
  list-style: none;
  touch-action: pan-y;
}
@media screen and (min-width: 768px) {
  .m-homeMainVisual__container {
    max-width: 400px;
  }
}

.m-homeMainVisual-slider {
  position: relative;
  z-index: 1;
  box-sizing: content-box;
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  transition-timing-function: ease-out;
  transition-property: transform;
}

.m-homeMainVisual-slider__item.swiper-slide {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .m-homeMainVisual-slider__item {
    transition: all 0.75s;
    transform: translateZ(0) scale(0.875);
    backface-visibility: hidden;
    will-change: transform;
  }
  .m-homeMainVisual-slider__item.swiper-slide-active {
    transform: scale(1);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .m-homeMainVisual-slider__item.swiper-slide-active {
    padding-inline: 0;
  }
}
.m-homeMainVisual-slider__item a {
  display: block;
}
.m-homeMainVisual-slider__item img {
  transform-origin: center;
}

.m-homeMainVisual__pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  transform: none;
}

.m-homeMainVisual-slideController__prev,
.m-homeMainVisual-slideController__next {
  height: auto;
  background-color: transparent;
}
@media screen and (min-width: 768px) {
  .m-homeMainVisual-slideController__prev,
  .m-homeMainVisual-slideController__next {
    width: 5.4rem;
    margin-top: 0.4rem;
  }
}
@media screen and (max-width: 767px) {
  .m-homeMainVisual-slideController__prev,
  .m-homeMainVisual-slideController__next {
    top: auto;
    bottom: 0;
    width: 3.2rem;
  }
}
.m-homeMainVisual-slideController__prev > img,
.m-homeMainVisual-slideController__next > img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .m-homeMainVisual-slideController__prev {
    left: 7.3rem;
  }
}
@media screen and (max-width: 767px) {
  .m-homeMainVisual-slideController__prev {
    left: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .m-homeMainVisual-slideController__next {
    right: 8.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m-homeMainVisual-slideController__next {
    right: 1.5rem;
  }
}

.m-homeMainVisual-slidePagination {
  gap: 1rem 0.4rem;
}
@media screen and (min-width: 768px) {
  .m-homeMainVisual-slidePagination {
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .m-homeMainVisual-slidePagination {
    margin-top: 2.8rem;
  }
}

.m-homeMainVisual-slidePagination__item {
  border: none;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
}

.m-homeMainVisual .swiper-pagination-bullet {
  position: relative;
  width: 16px;
  height: 2px;
  overflow: hidden;
  cursor: pointer;
  background-color: var(--color-border);
  border-radius: 100px;
  transition: ease;
}

.m-homeMainVisual .swiper-pagination-bullet::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0%;
  height: 100%;
  content: "";
}

.m-homeMainVisual .swiper-pagination-bullet-active {
  width: 50px;
}
.m-homeMainVisual .swiper-pagination-bullet-active:after {
  background-color: var(--color-primary);
  animation: slider-progress 3.6s forwards;
}

.m-homeMainVisual .swiper-pagination-bullet.swiper-pagination-bullet-active.is-pause::after {
  animation-play-state: paused;
}

.m-homeMainVisual .swiper-pagination-bullet-active.is-animation::after {
  background-color: #D10000;
  animation: re-slider-progress 3.6s linear forwards;
  width: 0%;
}

/* お知らせ
------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .sec-news {
    display: flex;
    max-width: 100rem;
    width: 100%;
    padding-bottom: 10rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .sec-news {
    padding-inline: 1.5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .sec-news .p-homeSection__title {
    margin-bottom: 1.7rem;
  }
}

@media screen and (min-width: 768px) {
  .news-title-box {
    width: calc(100% - 75rem);
  }
}
@media screen and (min-width: 768px) {
  .p-homeNewsList-area {
    width: 75rem;
  }
}
.p-homeNewsList__item:nth-of-type(n + 4) {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-homeNewsList-body {
    padding: 2.1rem 3.03rem 2.1rem 0;
    background: url(../img/common/arrow_btn_black.svg) no-repeat center right 1.23rem/1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-homeNewsList-body {
    padding: 1.4rem 0 1.8rem;
    background: url(../img/common/arrow_btn_black.svg) no-repeat center right 0.2rem/1.8rem;
  }
}

@media (hover: hover) {
  .p-homeNewsList-body--link:hover {
    opacity: var(--hover-opacity);
  }
}

.p-homeNewsList-body__time {
  font-family: var(--font-ja-serif);
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .p-homeNewsList-body__time {
    width: 9.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-homeNewsList-body__time {
    margin-bottom: 0.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-homeNewsList-body__title {
    width: calc(100% - 9.2rem);
    max-width: initial;
    padding-right: 2.83rem;
  }
}
@media screen and (max-width: 767px) {
  .p-homeNewsList-body__title {
    padding-right: 3.5rem;
  }
}
.p-homeNewsList-body__title span {
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-link {
  margin-top: 1.4rem;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .news-link {
    display: block;
    text-align: right;
  }
}
@media (hover: hover) {
  .news-link:hover {
    opacity: 1;
    text-decoration: none;
  }
}

/* 注目キーワード
------------------------------------------------------------- */
.sec-keywords {
  width: 100%;
  background-color: var(--color-bg-gray);
}
@media screen and (min-width: 768px) {
  .sec-keywords {
    padding-block: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-keywords {
    padding-block: 3rem 2rem;
    overflow-x: hidden;
  }
}
@media screen and (min-width: 768px) {
  .sec-keywords .l-container {
    display: flex;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .sec-keywords .l-container {
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-keywords .p-homeSection__title {
    padding-inline: 1.5rem;
  }
}

.keywords-list {
  gap: 1rem 0.55rem;
}
@media screen and (min-width: 768px) {
  .keywords-list {
    flex-wrap: wrap;
    width: 104rem;
    padding-left: 6.3rem;
    margin-top: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .keywords-list {
    flex-wrap: nowrap;
    width: 100%;
    padding-inline: 1.5rem;
    padding-bottom: 1rem;
    overflow-x: auto;
  }
}

@media screen and (max-width: 767px) {
  .keywords-list__item {
    width: auto;
    flex-shrink: 0;
  }
}

.keywords-list__link {
  font-size: 1.4rem;
  padding: 0.25rem 1.05rem;
}
/* 季節のおすすめ・特集
------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .sec-recommend-feature {
    padding-bottom: 10.3rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-recommend-feature {
    overflow-x: hidden;
    padding-bottom: 4.2rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-recommend-feature .l-container {
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-recommend-feature .p-homeSection__title {
    padding-inline: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .recommend-feature-list {
    grid-template-columns: repeat(5, 1fr);
    margin-top: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .recommend-feature-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.2rem;
    width: 100%;
    padding-inline: 1.5rem;
    padding-bottom: 1rem;
    margin-top: 1.3rem;
    overflow-x: auto;
  }
}

@media screen and (max-width: 767px) {
  .recommend-feature-list__item {
    width: 16rem;
    flex-shrink: 0;
  }
}

.recommend-feature-list__text {
  margin-top: 0.7rem;
}
/* 宝の麩
------------------------------------------------------------- */
/* 宝の麩上部 */
.takara-fu--upper {
  width: 100%;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .takara-fu--upper {
    height: 48rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .takara-fu--upper {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .takara-fu-bnr {
    display: grid;
    place-content: center;
    width: 100%;
    height: 100%;
    background: url(../img/home/bg_recommend_item_pc.jpg) no-repeat center/cover;
  }
}
@media screen and (max-width: 767px) {
  .takara-fu-bnr {
    display: block;
    padding-top: 2.4rem;
    padding-bottom: 4.7rem;
    background: url(../img/home/bg_recommend_item_sp.jpg) no-repeat center/cover;
  }
}

@media screen and (min-width: 768px) {
  .takara-fu-bnr__inner {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.takara-fu-bnr__img {
  position: relative;
}
@media screen and (min-width: 768px) {
  .takara-fu-bnr__img {
    width: 40rem;
    top: 1.9rem;
    left: 1.9rem;
  }
}
@media screen and (max-width: 767px) {
  .takara-fu-bnr__img {
    width: 26.5rem;
    left: 1.4rem;
    margin-inline: auto;
  }
}

@media screen and (min-width: 768px) {
  .takara-fu__info {
    width: 62.3rem;
    padding-left: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .takara-fu__info {
    position: relative;
    text-align: center;
    margin-top: -2.4rem;
  }
}

.takara-fu__title {
  font-family: var(--font-ja-serif);
}
.takara-fu__title span {
  display: block;
}

@media screen and (min-width: 768px) {
  .takara-fu__title--main {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .takara-fu__title--main {
    font-size: 2.6rem;
  }
}

@media screen and (min-width: 768px) {
  .takara-fu__title--sub {
    font-size: 2.2rem;
    margin-top: 0.1rem;
  }
}
@media screen and (max-width: 767px) {
  .takara-fu__title--sub {
    font-size: 1.7rem;
    margin-top: 0.6rem;
  }
}

.takara-fu__text {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 2.2rem;
}

/* 宝の麩下部 */
@media screen and (min-width: 768px) {
  .takara-fu--lower {
    padding-top: 7rem;
    padding-bottom: 10rem;
    background: url(../img/home/bg_takara_fu_pc.jpg) no-repeat center top/cover;
  }
}
@media screen and (max-width: 767px) {
  .takara-fu--lower {
    padding-top: 3.9rem;
    padding-bottom: 5rem;
    background: url(../img/home/bg_takara_fu_sp.jpg) no-repeat center top/cover;
  }
}

@media screen and (min-width: 768px) {
  .top-takara-fu-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.7rem 2.3rem;
    margin-top: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .top-takara-fu-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.1rem 1.1rem;
  }
}

.top-takara-fu-list__item--01 .top-takara-fu-list__img-box {
  aspect-ratio: 505/414;
}
@media screen and (min-width: 768px) {
  .top-takara-fu-list__item:first-child {
    grid-area: 1/1/3/3;
  }
}
@media screen and (max-width: 767px) {
  .top-takara-fu-list__item {
    width: calc(50% - 0.55rem);
  }
  .top-takara-fu-list__item--01 {
    width: 100%;
  }
}

.top-takara-fu-list__img-box {
  position: relative;
  aspect-ratio: 240/158;
  overflow: hidden;
}

.top-takara-fu-list__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.top-takara-fu-list__mark {
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .top-takara-fu-list__mark {
    width: 11rem;
  }
}
@media screen and (max-width: 767px) {
  .top-takara-fu-list__mark {
    width: 7.515rem;
  }
}

.top-takara-fu-list__title, .top-takara-fu-list__text {
  text-align: center;
}

.top-takara-fu-list__title {
  font-size: 1.5rem;
  margin-top: 1rem;
}

.top-takara-fu-list__text {
  font-size: 1.3rem;
  margin-top: 0.5rem;
  opacity: 0.7;
}

/* 種類から探す
------------------------------------------------------------- */
/**********************************
 ▼タブ切り替え▼
*********************************/
@keyframes fadeInTabContent {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.tab-wrappers {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .tab-buttons {
    position: relative;
  }
  .tab-buttons:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0.3rem;
    background-color: var(--color-border);
  }
}

.tab-button {
  position: relative;
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  color: #767575;
  font-family: var(--font-ja-serif);
  cursor: pointer;
  border-bottom: 3px solid transparent;
  outline: none;
  border-top: none;
  border-right: none;
  border-left: none;
  background: transparent;
  z-index: 1;
}
.tab-button.active {
  border-bottom-color: var(--color-main);
  color: var(--color-main);
}
@media screen and (max-width: 767px) {
  .tab-button {
    border-bottom: 3px solid var(--color-border);
  }
}

.tab-content {
  display: none;
  animation: fadeInTabContent var(--transition-default);
}
.tab-content.active {
  display: block;
}

.p-category-tab-buttons {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-category-tab-buttons {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-category-tab-buttons {
    gap: 0;
    padding-inline: 1.5rem;
    padding-bottom: 1rem;
    overflow-x: auto;
  }
}

@media screen and (min-width: 768px) {
  .p-category-tab-button-box {
    width: 18.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-category-tab-button-box {
    width: auto;
    flex-shrink: 0;
  }
}

.p-category-tab-button {
  width: 100%;
  font-weight: var(--fw-medium);
  font-size: 1.7rem;
  letter-spacing: var(--letter-spacing-default);
}
@media screen and (min-width: 768px) {
  .p-category-tab-button {
    padding: 0.3rem 0.5rem 0.9rem;
    transition: opacity var(--transition-default);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  .p-category-tab-button:hover {
    opacity: var(--hover-opacity);
  }
}
@media screen and (max-width: 767px) {
  .p-category-tab-button {
    padding: 0 3.7rem 1rem;
  }
}

@media screen and (min-width: 768px) {
  .p-category-tab-contents {
    margin-top: 2.1rem;
  }
}

/**********************************
 ▼カテゴリー一覧▼
*********************************/
.p-category-list {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-category-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-category-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.2rem 1.1rem;
    padding-inline: 1.5rem;
  }
}

.p-category-list-link {
  width: 100%;
}
.p-category-list-link img {
  width: 100%;
}
.p-category-list-name {
  font-size: 1.6rem;
  text-align: center;
  margin-top: 0.8rem;
}

.p-category-list-text {
  font-size: 1.3rem;
  color: var(--color-main);
  text-align: center;
  margin-top: 0.5rem;
  opacity: 0.7;
}

@media screen and (min-width: 768px) {
  .sec-category {
    margin-top: 11rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-category {
    margin-top: 5rem;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-category .l-container {
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-category .p-homeSection__title {
    padding-inline: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .sec-category .c-button-wrap {
    margin-top: 3.3rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-category .c-button-wrap {
    margin-top: 1.4rem;
  }
}

.p-category-text {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-category-text {
    padding-inline: 1.5rem;
  }
}

/* 用途から探す
------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .purpose-list {
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .purpose-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem 1.1rem;
  }
}

.purpose-list__link {
  display: block;
}
@media (hover: hover) {
  .purpose-list__link .purpose-list__img img {
    transition: transform var(--transition-default);
    transform-origin: center;
  }
  .purpose-list__link:hover {
    opacity: 1;
  }
  .purpose-list__link:hover .purpose-list__img img {
    transform: scale(1.15);
  }
}

.purpose-list__img {
  width: 100%;
  aspect-ratio: 307/202;
  overflow: hidden;
}
.purpose-list__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.purpose-list__text {
  position: relative;
  margin-left: auto;
  background-color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .purpose-list__text {
    width: 78.175896%;
    font-size: 1.6rem;
    padding: 0.6rem 1rem 1rem;
    margin-top: -2.3rem;
  }
}
@media screen and (max-width: 767px) {
  .purpose-list__text {
    width: 89.820359%;
    font-size: 1.5rem;
    padding: 0.5rem 0.8rem 0.8rem;
    margin-top: -1.3rem;
  }
}

/* 価格から探す
------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .sec-price .price-list {
    margin-top: 1.5rem;
  }
}

/* ランキング一覧
------------------------------------------------------------- */
/**********************************
 ▼ランキング価格部分▼
*********************************/
/* 価格ベース */
.c-product-body__price,
.c-product-body__price-subsc,
.c-product-body__price-prime,
.c-product-body__price-default {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-product-body__price,
  .c-product-body__price-subsc,
  .c-product-body__price-prime,
  .c-product-body__price-default {
    font-size: 1.5rem;
    margin-top: 0.6rem;
  }
}
@media screen and (max-width: 767px) {
  .c-product-body__price,
  .c-product-body__price-subsc,
  .c-product-body__price-prime,
  .c-product-body__price-default {
    font-size: 1.4rem;
    margin-top: 0.4rem;
  }
}
.c-product-body__price--num,
.c-product-body__price-subsc--num,
.c-product-body__price-prime--num,
.c-product-body__price-default--num {
  width: 100%;
  white-space: normal;
}
.c-product-body__price + .c-product-body__price-subsc,
.c-product-body__price-subsc + .c-product-body__price-subsc,
.c-product-body__price-prime + .c-product-body__price-subsc,
.c-product-body__price-default + .c-product-body__price-subsc {
  margin-top: 0.5rem;
}

/* 特別価格 */
.c-product-body__price-prime {
  color: var(--color-red-price);
}

/* 割引価格 */
.c-product-body__price--sale .c-product-body__price-default--num {
  font-size: 1.4rem;
}
.c-product-body__price--sale .c-product-body__price-default {
  margin-top: -0.5rem;
}

/* 定期価格大枠 */
.c-product-body__price-subsc {
  column-gap: 0;
}

.c-product-body__price-subsc-icon {
  display: grid;
  place-content: center;
  color: var(--color-main);
  height: 2.1rem;
  font-weight: var(--fw-regular);
  border: 1px solid var(--color-border);
  border-radius: 0;
  margin-right: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-product-body__price-subsc-icon {
    font-size: 1.2rem;
  }
}

.c-product-body__price-value:has(del), .c-product-body__price-subsc-price:has(del) {
  color: var(--color-sub);
  font-size: 1.1rem;
}
@media screen and (min-width: 768px) {
  .c-product-body__price-value:has(del), .c-product-body__price-subsc-price:has(del) {
    margin-left: 0.5rem;
  }
}

.c-product-body__price-subsc-inner:not(:has(.c-product-body__price-value)) .c-product-body__price-subsc-price {
  color: var(--color-main);
}

.c-product-body__price-subsc-price {
  color: var(--color-red-price);
  font-size: 1.4rem;
}

/* 定期初回価格 */
.c-product-body__price-subsc--first {
  width: 100%;
  text-align: center;
  color: var(--color-red-price);
  border: 1px solid var(--color-red-price);
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-product-body__price-subsc--first {
    font-size: 1.3rem;
    padding: 0.1rem 1rem;
  }
}
@media screen and (max-width: 767px) {
  .c-product-body__price-subsc--first {
    font-size: 1.2rem;
    margin-top: 0.4rem;
    padding: 0.15rem 1rem;
  }
  .c-product-body__price-subsc--first .c-product-body__price-subsc-price {
    font-size: 1.3rem;
  }
  .c-product-body__price-subsc--first .c-product-body__price--yen {
    font-size: 1rem;
  }
}

/* 定期通常価格 */
.c-product-body__price-subsc--regular {
  color: var(--color-main);
}
@media screen and (max-width: 767px) {
  .c-product-body__price-subsc--regular {
    align-items: flex-start;
  }
  .c-product-body__price-subsc--regular .c-product-body__price-subsc-icon {
    position: relative;
    top: 0.5rem;
  }
}

/* 「税込」表記 */
.c-product-body__price--tax {
  font-size: 1.1rem;
  color: var(--color-sub);
  margin-left: 0.4rem;
}

/* 「¥」もしくは「円」表記 */
.c-product-body__price--yen {
  margin-left: 0.2rem;
}
@media screen and (max-width: 767px) {
  .c-product-body__price--yen {
    font-size: 1.1rem;
  }
}

/* ▲ランキング価格部分▲ */
@media screen and (max-width: 767px) {
  .p-ranking-area {
    overflow-x: hidden;
  }
}
@media screen and (min-width: 768px) {
  .p-ranking-area .l-container {
    max-width: 137rem;
  }
}
@media screen and (max-width: 767px) {
  .p-ranking-area .l-container {
    padding-inline: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-ranking-area .p-homeSection__title {
    max-width: 133rem;
    width: 100%;
    padding-inline: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-ranking-area .p-homeSection__title {
    padding-inline: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-ranking-area .swiper {
    opacity: 1;
  }
}
.p-ranking-area .m-productLineHome-slideController__prev, .p-ranking-area .m-productLineHome-slideController__next {
  position: absolute;
  top: 26%;
  width: 5rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-ranking-area .m-productLineHome-slideController__prev, .p-ranking-area .m-productLineHome-slideController__next {
    display: none;
  }
}
.p-ranking-area .m-productLineHome-slideController__prev {
  left: -5.4rem;
}
.p-ranking-area .m-productLineHome-slideController__next {
  right: -5.4rem;
}
.p-ranking-area:not(:has(.m-productLineHome__item)) {
  display: none;
}

.ranking-slider-wrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .ranking-slider-wrap {
    margin-top: 1.7rem;
  }
}
@media screen and (min-width: 768px) {
  .p-ranking-list {
    max-width: 133rem;
    width: 100%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-ranking-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.2rem;
    width: 100%;
    padding-inline: 1.5rem;
    padding-bottom: 1rem;
    overflow-x: auto;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 768px) {
  .m-productLineHome__item {
    width: 20%;
    padding-inline: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .m-productLineHome__item {
    width: 16rem;
    flex-shrink: 0;
  }
}

.c-product-head__link {
  display: block;
}

.c-product-head__picture {
  display: block;
  aspect-ratio: 1/1;
  width: 100%;
  overflow: hidden;
}
.c-product-head__picture:before {
  display: none;
}

.c-product-head__image {
  position: static;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.c-product-head__rank {
  display: grid;
  place-content: center;
  top: 0;
  left: 0;
  font-family: var(--font-ja-serif);
  color: var(--color-white);
  background-color: #3E3E3E;
}
.c-product-head__rank--1 {
  background-color: #897D3B;
}
.c-product-head__rank--2 {
  background-color: var(--color-sub);
}
.c-product-head__rank--3 {
  background-color: #7B4D1F;
}
@media screen and (min-width: 768px) {
  .c-product-head__rank {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-product-head__rank {
    width: 3.2rem;
    height: 3.2rem;
    font-size: 1.8rem;
  }
}

.c-product-head__sold-out {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  font-size: 2rem;
  color: var(--color-white);
  background-color: rgba(26, 25, 25, 0.4);
}

.c-product-body {
  color: var(--color-main);
}
@media screen and (min-width: 768px) {
  .c-product-body {
    margin-top: 0.9rem;
  }
}
@media screen and (max-width: 767px) {
  .c-product-body {
    margin-top: 0.9rem;
  }
}

.c-product-body__title-name {
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-product-body__title-name {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .c-product-body__title-name {
    font-size: 1.5rem;
  }
}

/* 定番ギフト
------------------------------------------------------------- */
.sec-gift .c-product-head__rank {
  display: none !important;
}

/* 定期便バナー
------------------------------------------------------------- */
.sec-teikibin {
  display: flex;
  justify-content: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .sec-teikibin {
    padding-block: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-teikibin {
    padding-block: 3.9rem;
    padding-inline: 1.5rem;
  }
}

.teikibin-link {
  display: block;
}
@media screen and (min-width: 768px) {
  .teikibin-link {
    width: 100rem;
  }
}
/* コンセプト
------------------------------------------------------------- */
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-200%);
  }
}
.sec-concept {
  line-height: 1.8;
  background-color: var(--color-main);
}

.sec-concept-inner {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .sec-concept-inner {
    display: flex;
    align-items: center;
    margin-inline: auto;
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-concept-inner {
    padding-bottom: 7rem;
  }
}

/* 画像ループ */
.concept-img-area {
  display: flex;
  align-items: flex-start;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .concept-img-area {
    width: 55%;
    height: 58rem;
  }
}
@media screen and (max-width: 767px) {
  .concept-img-area {
    width: 100%;
    height: 23.8rem;
  }
}

.loop-list {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .loop-list {
    height: 100%;
  }
}
.loop-list:nth-child(odd) {
  animation: loop 100s -50s linear infinite;
}
.loop-list:nth-child(even) {
  animation: loop2 100s linear infinite;
}

@media screen and (min-width: 768px) {
  .loop-list__item {
    width: 88rem;
  }
}
@media screen and (max-width: 767px) {
  .loop-list__item {
    width: 100vw;
    flex-shrink: 0;
  }
}

/* コンセプト情報 */
.concept-info {
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .concept-info {
    position: relative;
    width: 62rem;
    margin-left: -5rem;
  }
}
@media screen and (max-width: 767px) {
  .concept-info {
    padding-inline: 1.5rem;
    margin-top: 2rem;
  }
}

.concept-title {
  font-family: var(--font-ja-serif);
}
@media screen and (min-width: 768px) {
  .concept-title {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .concept-title {
    font-size: 2.6rem;
    line-height: 1.5;
  }
}

.concept-text {
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .concept-text {
    padding-left: 13rem;
    margin-top: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .concept-text {
    margin-top: 0.8rem;
  }
}

.concept-deco {
  position: absolute;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .concept-deco {
    right: 2.5rem;
    width: 45.4rem;
  }
}
@media screen and (max-width: 767px) {
  .concept-deco {
    right: 0;
    width: 30.6rem;
  }
}

/* instagram インスタグラム
------------------------------------------------------------- */
.sec-instagram {
  position: relative;
}
@media screen and (min-width: 768px) {
  .sec-instagram {
    padding-top: 0;
    padding-bottom: 8rem;
    margin-top: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-instagram {
    margin-top: 5rem;
    padding-top: 4rem;
  }
}
.sec-instagram:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  background-color: var(--color-bg-gray);
}
@media screen and (min-width: 768px) {
  .sec-instagram:before {
    width: 53.125%;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec-instagram:before {
    width: 82.666667%;
    height: 47.75rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-instagram .l-container {
    display: flex;
    flex-direction: column;
    padding-inline: 0;
  }
}

@media screen and (min-width: 768px) {
  .instagram-info {
    position: relative;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .instagram-info {
    order: 2;
    padding-inline: 1.5rem;
    margin-top: 1.1rem;
  }
}

.instagram-title {
  font-family: var(--font-ja-serif);
}
@media screen and (min-width: 768px) {
  .instagram-title {
    font-size: 3.8rem;
  }
}
@media screen and (max-width: 767px) {
  .instagram-title {
    font-size: 3rem;
  }
}

.instagram-text {
  font-family: var(--font-ja-serif);
  font-weight: var(--fw-medium);
}
@media screen and (min-width: 768px) {
  .instagram-text {
    font-size: 1.6rem;
    margin-top: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .instagram-text {
    font-size: 1.5rem;
    margin-top: 0.4rem;
  }
}

.instagram-link {
  display: block;
  font-size: 1.4rem;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .instagram-link {
    margin-top: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .instagram-link {
    margin-top: 2.3rem;
  }
}
@media (hover: hover) {
  .instagram-link:hover {
    opacity: 1;
    text-decoration: none;
  }
}

.instagram-img {
  position: relative;
}
@media screen and (min-width: 768px) {
  .instagram-img {
    margin-top: -9rem;
  }
}
@media screen and (max-width: 767px) {
  .instagram-img {
    order: 1;
    padding-left: 1.5rem;
  }
}
.instagram-img img {
  width: 100%;
}