@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@600..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Kaisei+Opti&display=swap");

/*テーマカラー設定*/
:root {
  --main-color: #78B130;
  --accent-color: #78B130;
  --sub-color: #78B130;
  --lp-select-bg-color: #F5F5ED;
  --main-bg-color: #fff;
  --swiper-dots-color: #0003;
  --swiper-allow-color: #fff;
  --sub-font: "Kaisei Opti", serif;
}

.p-lp-wrapper {
  overflow: clip;
  background: var(--main-bg-color);
  background: url(https://stprodaeonblob.blob.core.windows.net/eshop-files/images/other/aspr_dousan_day_texture02.jpg) no-repeat top center/cover;
  background-attachment: fixed;
}

.p-lp-wrapper .p-tab-slider__head span {
  -webkit-line-clamp: 4;
}

@media (max-width: 767px) {
  .p-lp-wrapper .p-tab-slider__head li {
    height: 80px;
  }
}

.p-bg-wrap {
  margin-bottom: 0;
  padding: 50px 0;
}

@media (width < 768px) {
  .p-bg-wrap {
    padding: 30px 0;
  }
}

.p-bg-wrap .l-inner>*:last-child {
  margin-bottom: 0;
}

.p-bg-wrap.-bg-separate:nth-of-type(2n+1) {
  background-color: #F5F5ED;
}

.p-bg-wrap.-bg-white {
  background-color: #fff;
}

.p-bg-wrap.-bg-green {
  background-color: #F5F5ED;
}

.p-bg-wrap.-bg-yellow {
  background: url("https://stprodaeonblob.blob.core.windows.net/eshop-files/images/20240326075.jpg") repeat;
}

.p-bg-wrap.-bg-texture01 {
  background: url(https://stprodaeonblob.blob.core.windows.net/eshop-files/images/other/aspr_dousan_day_texture01.jpg) no-repeat top center/cover;
}

.p-bg-wrap.-bg-torafuku {
  position: relative;
  padding-top: 0;
}

.p-bg-wrap.-bg-torafuku .-bg-torafuku-sky {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 40%;
  z-index: 0;
  background: linear-gradient(rgba(255, 255, 255, 0), #fff), url(https://stprodaeonblob.blob.core.windows.net/eshop-files/images/other/aspr_dousan_day_bg_sky.jpg) no-repeat top center/cover;
}

.p-bg-wrap.-bg-torafuku .-bg-torafuku-aspara {
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  z-index: 0;
  background: url(https://stprodaeonblob.blob.core.windows.net/eshop-files/images/other/aspr_dousan_day_bg_aspara.jpg) no-repeat top center/cover;
}

.p-bg-wrap.-bg-torafuku>.l-inner {
  position: relative;
  z-index: 1;
}

.p-bg-wrap.-bg-dousan {
  background: #fbeed2;
  background: url(https://stprodaeonblob.blob.core.windows.net/eshop-files/images/other/aspr_dousan_day_texture03.jpg) no-repeat top center/cover;
  background-attachment: fixed;
}

@media (width < 768px) {
  .p-bg-wrap.-bg-dousan {
    padding-top: 0;
  }
}

.p-lp-hero {
  /* background: url(https://stprodaeonblob.blob.core.windows.net/eshop-files/images/other/aspr_dousan_day_texture01.jpg) no-repeat top center / cover; */
  background: url(https://stprodaeonblob.blob.core.windows.net/eshop-files/images/other/aspr_dousan_day_texture01-2.jpg) no-repeat top center/cover;
  /* background: url(../../images/other/aspr_dousan_day_texture01.jpg) no-repeat top center / cover; */
}

.p-lp-hero__grid {
  display: grid;
  grid-template-columns: 450px 1fr;
  max-width: 1240px;
  margin: 0 auto 60px;
}

.p-lp-hero__grid img {
  margin: 0 auto;
}

@media (width < 768px) {
  .p-lp-hero__grid {
    grid-template-columns: 100%;
    margin-bottom: 30px;
  }
}

.p-lp-hero__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (width >=768px) {
  .p-lp-hero__img {
    order: 2;
  }
}

.p-lp-hero__text {
  display: grid;
  place-content: center;
  padding: 30px 0;
  font-family: var(--sub-font);
  text-align: center;
}

@media (width >=768px) {
  .p-lp-hero__text {
    order: 1;
    padding: 100px 0;
  }
}

.p-lp-hero__title {
  color: #fff;
  font-size: 2rem;
  line-height: 1.2;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.6);
}

.p-lp-hero__title span {
  display: block;
}

.p-lp-hero__title .-logo {
  display: inline-block;
  max-width: 280px;
  vertical-align: middle;
}

.p-lp-hero__title .-sub {
  margin-bottom: 10px;
  line-height: 1.5;
}

.p-lp-hero__title .-main {
  display: block;
  font-size: 200%;
  font-weight: 900;
}

@media (width < 768px) {
  .p-lp-hero__title {
    font-size: min(5vw, 2rem);
  }

  .p-lp-hero__title .-logo {
    max-width: 200px;
  }

  .p-lp-hero__title .-main {
    font-size: 180%;
  }
}

.p-lp-hero__tags {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 40px;
  line-height: 1;
}

.p-lp-hero__tags li {
  padding: 10px 10px;
  font-size: 1.2rem;
  font-weight: 900;
  background: #fff;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.6);
}

@media (width < 768px) {
  .p-lp-hero__tags {
    margin-top: 20px;
    font-size: min(2.5vw, 1rem);
  }
}

.-bg-asp {
  /* background: url(https://stprodaeonblob.blob.core.windows.net/eshop-files/feature/100/img/bg-asp-main.png) no-repeat right -5% top 0 / 50% auto; */
  background: url(https://stprodaeonblob.blob.core.windows.net/eshop-files/images/other/aspr_2025_title_bg.png) no-repeat right -5% top 0/50% auto;
  background-color: rgba(255, 255, 255, 0.5);
  background-blend-mode: lighten;
}

.c-heading.c-heading-hayatoku {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}

/* 見出しアイコン
========================= */
.p-lp-wrapper .c-heading {
  line-height: 1.4;
}

.-heading-icon {
  display: grid;
  grid-template-columns: 40px max-content 40px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--sub-font);
  font-size: 1.8rem;
  margin-bottom: 30px;
}

@media (width < 768px) {
  .-heading-icon {
    /* grid-template-columns: max-content 1fr; */
    font-size: 1.3rem;
    gap: 5px;
    margin-bottom: 15px;
  }
}

/* .-heading-icon{
  padding-left: .1rem;
} */
.-heading-icon::before,
.-heading-icon::after {
  content: "";
  display: inline-block;
  background: url("https://stprodaeonblob.blob.core.windows.net/eshop-files/feature/100/img/asp_illust.svg") no-repeat center center/contain;
  width: 40px;
  height: 45px;
  vertical-align: bottom;
}

/* バナースライダー
========================= */
.p-lp-pickup-main {
  position: relative;
}

.p-lp-pickup-main .swiper-wrapper {
  display: flex;
}

.p-lp-pickup-main .swiper-slide {
  width: 25%;
}

@media (width < 768px) {
  .p-lp-pickup-main .swiper-slide {
    width: 50%;
  }
}

.p-lp-pickup-main .p-lp-controller__button {
  cursor: pointer;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  display: block;
  width: 35px;
  height: 35px;
  color: var(--swiper-allow-color);
  background-color: var(--swiper-dots-color);
  border-radius: 50%;
  z-index: 1;
  transition: opacity 0.3s ease;
}

.p-lp-pickup-main .p-lp-controller__button.-prev {
  left: 0;
}

.p-lp-pickup-main .p-lp-controller__button.-next {
  right: 0;
}

.p-lp-controller__button:before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 6.5px);
  width: 13px;
  height: 13px;
  border-top: 2px solid currentColor;
}

.p-lp-controller__button.-prev:before {
  left: 40%;
  border-left: 2px solid currentColor;
  transform: rotate(-45deg);
}

.p-lp-controller__button.-next:before {
  right: 40%;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.p-lp-controller__button:hover,
.p-lp-controller__button.swiper-button-disabled {
  opacity: 0.6;
}

/* 導入文
========================= */
.p-lp-catchcopy {
  /* margin: 80px 0 40px; */
  font-size: min(5.5vw, 1.8rem);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-align: center;
  color: var(--main-color);
}

.p-lp-catqalog-bnr {
  max-width: max-content;
  margin-left: auto;
  margin-right: auto;
}

/* アンカーリンク
========================= */
.p-lp-nav {
  padding: 0 0 50px;
}

.p-lp-anchor {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}

.p-lp-anchor li {
  width: calc(50% - 4px);
}

.p-lp-anchor li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 45px;
  padding: 10px 1px;
  font-family: var(--sub-font);
  /* font-size: 1.6rem; */
  font-size: min(5vw, 1.5rem);
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  border-radius: 4px;
  color: #fff;
  background-color: var(--main-color);
}

.p-lp-anchor li a small {
  display: inline-block;
  margin-left: 3px;
  font-size: 1rem;
}

.p-lp-anchor li a.otodoke_4 {
  background-color: #6EBA2C;
}

.p-lp-anchor li a.otodoke_45 {
  background-color: #6EBA2C;
}

.p-lp-anchor li a.otodoke_5 {
  background-color: #00A83D;
}

.p-lp-anchor li a.otodoke_56 {
  background-color: #009944;
}

.p-lp-anchor li a.otodoke_6 {
  background-color: #009C84;
}

.p-lp-anchor li a.otodoke_7 {
  background-color: #008BD5;
}

.p-lp-anchor li a.otodoke_79 {
  background-color: #4d4397;
}

.p-lp-anchor li a.otodoke_8 {
  background-color: #004EA2;
}

.p-lp-anchor li a.otodoke_89 {
  background-color: #6A72B5;
}

.p-lp-anchor li a.otodoke_9 {
  background-color: #6A318E;
}

.p-lp-anchor li a.otodoke_10 {
  background-color: #E66A00;
}

.p-lp-anchor li a.otodoke_11 {
  background-color: #AB8421;
}

.p-lp-anchor li a.otodoke_12 {
  background-color: #DE0211;
}

.p-lp-anchor li a.otodoke_4-12 {
  background-color: #945747;
}

.p-lp-anchor li a:has(img) {
  padding: 0;
  background: none;
  border-radius: 0;
}

@media (width < 768px) {
  .p-lp-anchor li {
    width: 100%;
  }

  .p-lp-anchor.-sp-line3 li {
    width: calc(33.333% - 5.3333333333px);
  }

  .p-lp-anchor.-sp-line4 li {
    width: calc(25% - 6px);
  }
}

@media (width >=768px) {

  /* .p-lp-anchor{
    flex-wrap: nowrap;
  } */
  .p-lp-anchor.-pc-line3 li {
    width: calc(33.333% - 5.3333333333px);
  }

  .p-lp-anchor.-pc-line4 li {
    width: calc(25% - 6px);
  }

  .p-lp-anchor.-pc-line5 li {
    width: calc(20% - 6.4px);
  }

  .p-lp-anchor.-pc-line6 li {
    width: calc(16.666% - 6.6666666667px);
  }

  .p-lp-anchor.-pc-line7 li {
    width: calc(14.285% - 6.8571428571px);
  }

  .p-lp-anchor.-pc-line8 li {
    width: calc(12.5% - 7px);
  }

  .p-lp-anchor li a {
    padding: 18px 3px;
    /* font-size: min(2.7vw, 1.05rem); */
    font-size: min(3vw, 2rem);
  }

  .p-lp-anchor li a small {
    font-size: min(2vw, 1.2rem);
  }
}

/* 見出し
========================= */
.p-lp-month-title {
  padding: 3rem 0;
  background: url("https://stprodaeonblob.blob.core.windows.net/eshop-files/images/20240326072.jpg") no-repeat center center/cover;
  background-attachment: fixed;
}

.p-lp-month-title__text {
  width: 85%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 1rem 0;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  background-color: rgba(11, 33, 10, 0.8);
}

/* 商品一覧
========================= */
.p-lp-category-product {
  gap: 0;
  justify-content: center;
  max-width: 1200px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  gap: 20px 10px;
}

@media (width >=768px) {
  .p-lp-category-product {
    gap: 30px 30px;
    /* .p-item-list-category__item{
      width: calc((100% - 60px) / 4);
    } */
  }
}

.p-lp-category-product li {
  background: #fff;
}

.p-lp-category-product .c-card {
  padding: 20px;
    box-shadow: 2px 2px 4px grey;
}

.p-lp-category-product .c-card .c-price {
  font-size: 2rem;
}

.p-lp-category-product .c-card .c-price span {
  font-size: 50%;
}

.p-lp-category-product .c-card .c-price small {
  font-size: 80%;
}

/* ===== アイコンエリア 共通 ===== */
.p-lp-category-product .c-card .c-card__icons {
  display: flex;
  gap: 10px;
  margin-bottom: 0.5rem;

}

/* 通常アイコン（承り期間・お届け期間） */
.p-lp-category-product .c-card .c-card__icon {
  color: #00a0e9;
  border: 2px solid #00a0e9;
  border-radius: 5px;
  padding: 0.2rem 1rem;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* タイトル */
.p-lp-category-product .c-card .c-card__icon_title {
  font-weight: 600;
  font-size: 0.8rem;
}

/* 日付 */
.p-lp-category-product .c-card .c-card__icon_days {
  font-size: 1rem;
  font-weight: 800;
}

/* 配送料込みアイコン */
.p-lp-category-product .c-card .c-card__icons .c-card__icon_special {
  background-color: red;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  padding: 0 1rem;
}

/* ===== PC表示 ===== */
@media (width >=768px) {
  .p-lp-category-product .c-card .c-card__icons {
    flex-direction: row;
  }

  .p-lp-category-product .c-card .c-card__icons>div {
    flex: 1;
    /* ★ 横並びで均等 */
  }
}

/* ===== スマホ表示 ===== */
@media (width < 768px) {

  /* アイコン全体を縦並び */
  .p-lp-category-product .c-card .c-card__icons {
    flex-direction: column;
  }

  /* 承り期間・お届け期間の中身だけ横並び */
  .p-lp-category-product .c-card .c-card__icon {
    flex-direction: row;
    gap: 8px;
  }

  .p-lp-category-product .c-card .c-card__icon_title,
  .p-lp-category-product .c-card .c-card__icon_days {
    display: inline-flex;
    align-items: center;
  }
}

@media (width < 768px) {
  .p-lp-category-product .c-card {
    padding: 10px;
  }
}

@media (width < 768px) {
  .p-lp-wrapper :where(.p-item-list-category .p-item-list-category__item) {
    /* padding: 0 5px; */
    width: calc(50% - 5px);
  }

  .p-lp-category-product:has(> :nth-child(1):last-child) .p-item-list-category__item {
    width: 100%;
  }

  .p-lp-category-product:has(> :nth-child(3):last-child) .p-item-list-category__item:first-of-type,
  .p-lp-category-product:has(> :nth-child(5):last-child) .p-item-list-category__item:first-of-type,
  .p-lp-category-product:has(> :nth-child(7):last-child) .p-item-list-category__item:first-of-type {
    width: 100%;
  }
}

@media (width >=768px) {
  .p-lp-wrapper :where(.p-item-list-category .p-item-list-category__item) {
    width: calc(50% - 15px);
    max-width: 500px;
    /* margin: 0 10px; */
  }

  .p-lp-category-product:has(> :nth-child(1):last-child) .p-item-list-category__item {
    width: 100%;
  }

  .p-lp-category-product:has(> :nth-child(2):last-child) .p-item-list-category__item {
    width: 50%;
  }

  .p-lp-category-product:has(> :nth-child(3):last-child) .p-item-list-category__item,
  .p-lp-category-product:has(> :nth-child(6):last-child) .p-item-list-category__item,
  .p-lp-category-product:has(> :nth-child(9):last-child) .p-item-list-category__item,
  .p-lp-category-product:has(> :nth-child(15):last-child) .p-item-list-category__item {
    width: 33.333%;
  }
}

@media (max-width: 576px) {
  .p-lp-wrapper .p-item-list-category__item {
    width: 100%;
    max-width: none;
  }

  .p-lp-category-product .c-card .c-card__icons {
    display: flex;
    gap: 5px; 
    margin-bottom: 0.5rem;
  }

}


/* 動画
========================= */
.c-lp-video {
  max-width: 850px;
  margin: 50px auto;
}

.c-lp-video iframe {
  aspect-ratio: 16/9;
  width: 100%;
}

/* 商品スライダー
========================= */
.p-lp-recommend-product {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.p-lp-recommend-product .p-item-list-category__item {
  width: calc((100% - 80px) / 5);
}

@media (width < 768px) {
  .p-lp-recommend-product {
    gap: 15px;
  }

  .p-lp-recommend-product .p-item-list-category__item {
    width: calc((100% - 15px) / 2);
  }

  .p-lp-recommend-product .p-item-list-category__item:nth-of-type(n + 5) {
    display: none;
  }
}

/* -------------------------
  生産者紹介
------------------------- */
.p-lp-content-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  margin-top: 30px;
  margin-bottom: 50px;
}

@media (width < 768px) {
  .p-lp-content-grid {
    grid-template-columns: 100%;
    gap: 10px;
    margin-top: 15px;
    margin-bottom: 40px;
  }
}

.p-lp-content-grid.-img-only {
  gap: 20px;
  grid-template-columns: repeat(2, max-content);
  justify-content: center;
}

@media (width >=768px) {
  .p-lp-content-grid .p-lp-content-grid__img-grid {
    display: grid;
    grid-auto-columns: 2fr 1fr;
    grid-auto-flow: column;
    gap: 20px;
  }

  .p-lp-content-grid.-img-right .p-lp-content-grid__img {
    order: 2;
  }

  .p-lp-content-grid.-img-large {
    grid-template-columns: 2fr 1fr;
  }

  .p-lp-content-grid.-text-small {
    grid-template-columns: 1.5fr 1fr;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }

  .p-lp-content-grid.-text-small.-img-right {
    grid-template-columns: 1fr 1.5fr;
  }

  .p-lp-content-grid.-img-only {
    gap: 20px;
  }

  .p-lp-content-grid.-align-items-center {
    gap: 20px;
  }
}

.p-lp-content-grid .p-lp-category-product {
  margin-top: 0;
}

.p-lp-content-paragraph {
  max-width: 850px;
  margin: 30px auto 50px;
}

.p-lp-content-paragraph>figure {
  max-width: max-content;
  margin: 20px auto 0;
}

@media (width < 768px) {
  .p-lp-content-paragraph {
    margin: 15px auto 40px;
  }
}

@media (width < 768px) {

  .p-lp-content-grid__text,
  .p-lp-content-paragraph {
    font-size: 0.9rem;
  }
}

.p-lp-content-grid__text p+p,
.p-lp-content-paragraph p+p {
  margin-top: 1rem;
}

.p-lp-content-grid__text .-title,
.p-lp-content-paragraph .-title {
  font-size: 1.2rem;
  font-weight: bold;
}

.p-lp-content-grid__text .-large-title,
.p-lp-content-paragraph .-large-title {
  /* font-family: "Noto Serif JP", serif; */
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.8;
}

.p-lp-content-grid__img-caption {
  margin-top: 5px;
}

@media (width < 768px) {
  .p-lp-content-grid__img-caption {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 20px;
  }
}

.p-lp-content-grid__text .p-lp-category-product {
  margin-bottom: 0;
}

@media (width >=768px) {
  .p-lp-content-grid__text {
    align-self: center;
  }
}

/* -------------------------
  注意事項
------------------------- */
.p-lp-attention {
  margin-left: auto;
  margin-right: auto;
  padding: 30px 20px;
  border: 2px solid #dadada;
  border-radius: 10px;
}

@media (min-width: 768px) {
  .p-lp-attention {
    padding: 50px 50px;
  }
}

/* -------------------------
  セット商品
------------------------- */
.p-lp-set-product {
  background-color: #fff;
  max-width: 850px;
  margin: 0 auto;
  padding-bottom: 30px;
  border-radius: 20px;
}

@media (width < 768px) {
  .p-lp-set-product {
    margin-top: 30px;
  }
}

.p-lp-set-product+.p-lp-set-product {
  margin-top: 50px;
}

.p-lp-set-product__title {
  position: relative;
  /* max-width: 960px; */
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  padding: 30px 0 16px;
  font-family: var(--sub-font);
  font-size: min(5vw, 1.6rem);
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  background-color: var(--accent-color);
  border-radius: 20px 20px 0 0;
  /* border-radius: 100px; */
}

@media (width < 768px) {
  .p-lp-set-product__title {
    margin-bottom: 15px;
    margin-bottom: 0;
    padding-top: 24px;
  }
}

.p-lp-set-product__title span {
  display: inline-block;
  width: max-content;
  margin-right: 10px;
  padding: 5px 20px;
  font-size: 75%;
  background-color: #2c4908;
  border-radius: 30px;
  /* @media (width < 768px) { */
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  translate: -50% -40%;
  /* } */
}

.p-lp-set-product__grid {
  display: grid;
  grid-template-columns: 300px 1fr;
  align-items: center;
  gap: 30px 50px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 30px;
}

@media (width < 768px) {
  .p-lp-set-product__grid {
    grid-template-columns: 100%;
    gap: 20px;
    padding: 0;
  }
}

.p-lp-set-product__grid-title {
  /* font-family: "Noto Serif JP", serif; */
  font-size: min(3.5vw, 1.25rem);
  font-weight: 700;
  line-height: 1.6;
}

.p-lp-set-product__grid-title span {
  font-size: 150%;
}

@media (width < 768px) {
  .p-lp-set-product__grid-title {
    grid-template-columns: 100%;
    gap: 20px;
    padding: 0 20px;
  }
}

.p-lp-set-product__grid-desc {
  grid-column: 1/-1;
}

@media (width < 768px) {
  .p-lp-set-product__grid-desc {
    padding: 0 20px;
  }
}

.img__shadow{
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.6);
}