@charset "utf-8";
/* CSS Document */
/*#contents {
  width: 100%;
  min-height: 100%;
  position: relative; 
}
#contents::before {
  content: "";
  display: block;
  position: fixed; 
  top: -50px;
  bottom: -100px;
  left: 0;
  right: 0;
  background-color: #EFBF7B;
  background-image: linear-gradient(130deg, rgba(206, 163, 0, 0.8), rgba(246, 233, 176, 0.8) 25%, rgba(206, 163, 0, 0.8) 50%, rgba(246, 233, 176, 0.8) 75%, rgba(206, 163, 0, 0.8));
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  z-index: -10; 
  pointer-events: none; 
}
  footer {
    background-color: #fff;
    z-index: -2;
  }
@media screen and (max-width: 736px) {


}*/
  #contents {
    background-color: #EFBF7B;
    min-height: 100%;
    background-image: linear-gradient(130deg, rgba(206, 163, 0, 0.8), rgba(246, 233, 176, 0.8) 25%, rgba(206, 163, 0, 0.8) 50%, rgba(246, 233, 176, 0.8) 75%, rgba(206, 163, 0, 0.8));
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
  }
@media screen and (max-width:736px) {
  footer {
    background: #fff;
    z-index: -2;
  }
}
/*.ly-btn-pagetop a {
    background-color: #fff;
  }
} */
/* =========================================
   共通設定・ベーススタイル
========================================= */
.melon {
  background-color: #1a883f;
}
.strawberry {
  background-color: #c84d4a;
}
.muscat {
  background-color: #4a842d;
}
.peach {
  background-color: #b75963;
}
.mango {
  background-color: #b46013;
}
#frappe-fruitseries_cp_2606 {
  width: calc(100vw - 0%);
  margin: 0 calc(50% - 50vw);
  color: #4e150d;
  font-family: "Zen Old Mincho", serif;
  font-style: normal;
  font-weight: 900;
  margin-bottom: 50px;
}
#frappe-fruitseries_cp_2606 main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}
#frappe-fruitseries_cp_2606 img {
  width: 100%;
  height: auto;
}
#frappe-fruitseries_cp_2606 * {
  box-sizing: inherit;
}
#frappe-fruitseries_cp_2606 .kv_img {
  max-width: 1200px;
  min-height: 100%;
  margin: 0 auto;
  /*filter: drop-shadow(2px 2px 2px #aaa);
    /* ▼ 追加：初期状態を透明にし、0.2秒後に1秒かけて表示 */
  opacity: 0;
  animation: fadeUpAnim 1s ease-out 0.2s forwards;
}
/* =========================================
   見出し設定
========================================= */
#frappe-fruitseries_cp_2606 .section-header {
  background: rgba(255, 255, 255, 0.5);
  text-align: center;
  margin: 0;
  padding: 1rem 0;
  background-color: none; /* 背景色 */
  background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5) 2px, transparent 2px, transparent 4px);
}
/* h1: テキスト色 #4e150d */
#frappe-fruitseries_cp_2606 .main-title {
  color: #4e150d;
  font-size: clamp(1.5rem, 4vw, 2.2rem);
  margin-bottom: 10px;
  font-family: "Zen Old Mincho", serif;
  font-style: normal;
  font-weight: 900;
}
#frappe-fruitseries_cp_2606 .main-lead {
  color: #4e150d;
  font-size: clamp(0.95rem, 0.712rem + 0.52vw, 1.1rem);
  margin-bottom: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
/* =========================================
   h2: リボン風デザイン
========================================= */
#frappe-fruitseries_cp_2606 .ribbon-wrapper {
  width: 60%;
  max-width: 600px; /* PCで広がりすぎるのを防ぐ */
  margin: 2.5% auto; /* display: block と auto で確実に中央寄せ */
  display: block; /* inline-block から block に変更しました */
  position: relative;
  z-index: 1;
}
#frappe-fruitseries_cp_2606 .ribbon-heading {
  background-color: #f1b96f; /* ゴールド系（グラデ非対応時の予備） */
  background-image: linear-gradient(130deg, rgba(206, 163, 0, 1), rgba(246, 233, 176, 1) 25%, rgba(206, 163, 0, 1) 50%, rgba(246, 233, 176, 1) 75%, rgba(206, 163, 0, 1));
  color: #4e150d;
  font-size: clamp(1.2rem, 3vw, 1.8rem);
  padding: 12px 20px;
  margin: 0;
  position: relative;
  font-weight: bold;
  text-align: center; /* テキストを中央に */
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
}
/* リボンの両端（折り返し部分） */
#frappe-fruitseries_cp_2606 .ribbon-heading::before, #frappe-fruitseries_cp_2606 .ribbon-heading::after {
  content: "";
  position: absolute;
  top: 10px;
  bottom: -10px;
  width: 30px;
  background-color: #cea300; /* 少し暗いゴールド */
  z-index: -1;
}
#frappe-fruitseries_cp_2606 .ribbon-heading::before {
  left: -20px;
  clip-path: polygon(100% 0, 100% 100%, 0 50%); /* 左側の切り込み */
}
#frappe-fruitseries_cp_2606 .ribbon-heading::after {
  right: -20px;
  clip-path: polygon(0 0, 0 100%, 100% 50%); /* 右側の切り込み */
}
/* ====================================
   ▼ SPレイアウト (736px以下) の追加調整
==================================== */
@media screen and (max-width: 736px) {
  #frappe-fruitseries_cp_2606 .ribbon-wrapper {
    width: 85%; /* スマホでは60%だと狭すぎるため幅を広げる */
    margin: 5% auto;
  }
  #frappe-fruitseries_cp_2606 .ribbon-heading {
    padding: 10px;
  }
  /* スマホの画面端でリボンの端がはみ出ないように少し小さく調整 */
  #frappe-fruitseries_cp_2606 .ribbon-heading::before {
    left: -15px;
    width: 20px;
  }
  #frappe-fruitseries_cp_2606 .ribbon-heading::after {
    right: -15px;
    width: 20px;
  }
}
/* =========================================
   商品リスト設定
========================================= */
#frappe-fruitseries_cp_2606 .product-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#frappe-fruitseries_cp_2606 .product-item {
  position: relative;
  width: 100%;
  margin-right: auto;
  z-index: 1;
}
/* ★ゴールド系（#EFBF7B）の2本線枠設定。
   背景色の5px内側に配置するための設定に変更 */
#frappe-fruitseries_cp_2606 .product-inner {
  /* 外側の border は廃止し、疑似要素で2本とも描画します */
  border: none;
  padding: 0px;
  display: flex;
  align-items: center;
  gap: 20px 0px;
  background-color: #fafafa; /* デフォルト背景 */
  position: relative; /* 疑似要素用。必須。 */
  overflow: hidden; /* 枠がはみ出ないようにする */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
/* 疑似要素（::before と ::after）を使って、
   背景の上に2本のゴールド線を重ねます。 */
/* --- 1本目の線（外側から5px内側） --- */
#frappe-fruitseries_cp_2606 .product-inner::before {
  content: "";
  position: absolute;
  /* 背景の端から5px内側に配置 */
  top: 13px;
  left: 13px;
  right: 13px;
  bottom: 13px;
  /* ゴールドの線。色を画像に近づけた#EFBF7Bに。 */
  border: 4px solid #EFBF7B;
  pointer-events: none; /* テキスト選択などを邪魔しない */
  z-index: 1; /* 背景の上に配置 */
}
/* --- 2本目の線（1本目のさらに内側。間隔を5pxに設定） --- */
#frappe-fruitseries_cp_2606 .product-inner::after {
  content: "";
  position: absolute;
  /* 1本目の線（5px）＋間隔（5px）＝ 背景の端から10px内側に配置 */
  top: 23px;
  left: 23px;
  right: 23px;
  bottom: 23px;
  /* 同じゴールドの線 */
  border: 1px solid #EFBF7B;
  pointer-events: none;
  z-index: 1;
}
/* 偶数番目（②④）は画像とテキストを左右反転 (PC時) */
#frappe-fruitseries_cp_2606 .product-item:nth-child(even) .product-inner {
  flex-direction: row-reverse;
}
/* --- 商品ごとのグラデーション背景 --- */
/* (前回のコードをそのまま維持) */
/* ①メロン（#1a883f） */
#frappe-fruitseries_cp_2606 .item-melon .product-inner {
  background-image: linear-gradient(130deg, rgba(82, 163, 86, 1), rgba(138, 208, 142, 1) 40%, rgba(82, 163, 86, 1) 65%, rgba(138, 208, 142, 1) 90%);
}
/* ②ストロベリー（#c84d4a） */
#frappe-fruitseries_cp_2606 .item-strawberry .product-inner {
  background-image: linear-gradient(130deg, rgba(255, 98, 123, 1), rgba(255, 153, 170, 1) 40%, rgba(255, 98, 123, 1) 65%, rgba(255, 153, 170, 1) 90%);
}
/* ③シャインマスカット（#4a842d） */
#frappe-fruitseries_cp_2606 .item-muscat .product-inner {
  background-image: linear-gradient(130deg, rgba(169, 195, 20, 1), rgba(197, 217, 68, 1) 40%, rgba(169, 195, 20, 1) 65%, rgba(197, 217, 68, 1) 90%);
}
/* ④ピーチ（#b75963） */
#frappe-fruitseries_cp_2606 .item-peach .product-inner {
  background-image: linear-gradient(130deg, rgba(219, 134, 165, 1), rgba(248, 177, 205, 1) 40%, rgba(219, 134, 165, 1) 65%, rgba(248, 177, 205, 1) 90%);
}
/* ⑤マンゴー（#b46013） */
#frappe-fruitseries_cp_2606 .item-mango .product-inner {
  background-image: linear-gradient(130deg, rgba(233, 147, 4, 1), rgba(248, 187, 65, 1) 40%, rgba(233, 147, 4, 1) 65%, rgba(248, 187, 65, 1) 90%);
}
/* =========================================
   画像・テキストエリア要素
========================================= */
#frappe-fruitseries_cp_2606 .product-img {
  flex: 0 0 45%;
  margin: 0;
  padding: 0;
}
#frappe-fruitseries_cp_2606 .product-img img {
  width: 100%;
  height: auto;
  display: block;
  /*border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);*/
}
/* ★アクセシビリティ対応：
   背景色が濃いため、テキストエリアに半透明の白背景を敷いてコントラストを確保 */
#frappe-fruitseries_cp_2606 .product-textR {
  flex: 1;
  background: rgba(255, 255, 255, 0.7);
  padding: 25px 45px 25px 25px;
  /*border-radius: 8px;*/
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
#frappe-fruitseries_cp_2606 .product-textL {
  flex: 1;
  background: rgba(255, 255, 255, 0.7);
  padding: 25px 25px 25px 45px;
  /*border-radius: 8px;*/
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
#frappe-fruitseries_cp_2606 .product-date {
  display: inline-block;
  color: #fff;
  border-radius: 50px;
  padding: 2px 14px;
  font-size: clamp(1rem, 0.683rem + 0.69vw, 1.2rem);
  font-weight: 600;
  margin: 0 0 8px 0;
  align-self: flex-start;
}
#frappe-fruitseries_cp_2606 .product-name {
  font-size: clamp(1.5rem, 0.866rem + 1.38vw, 1.9rem);
  font-weight: 700;
  margin: 0 0 3px;
  letter-spacing: -0.1em;
}
#frappe-fruitseries_cp_2606 .product-price {
  font-size: clamp(1.05rem, 0.891rem + 0.34vw, 1.15rem);
  font-weight: bold;
  margin: 0 0 10px;
  border-bottom: 1px solid #f1b96f;
  padding-bottom: 10px;
}
#frappe-fruitseries_cp_2606 .product-desc {
  font-size: clamp(0.95rem, 0.871rem + 0.17vw, 1rem);
  line-height: 1.6;
  margin: 0 0 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
}
/* ★注釈リスト（※を疑似要素で実装） */
#frappe-fruitseries_cp_2606 .product-notes {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: clamp(0.85rem, 0.771rem + 0.17vw, 0.9rem);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
}
#frappe-fruitseries_cp_2606 .product-notes li {
  position: relative;
  padding-left: 1.2em; /* ※の分のスペース */
  margin-bottom: 4px;
  line-height: 1.4;
}
#frappe-fruitseries_cp_2606 .product-notes li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
#frappe-fruitseries_cp_2606 .aem_w90 {
  width: 92%;
  margin: 4%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
}
/* ====================================
   ▼ SPレイアウト (736px以下) ▼
==================================== */
@media screen and (max-width: 736px) {
  #frappe-fruitseries_cp_2606 {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 0;
    margin-top: -10px;
    margin-bottom: 50px;
    /*overflow-x: hidden;  */
  }
  #frappe-fruitseries_cp_2606 main {
    margin: 0 12px;
  }
  #frappe-fruitseries_cp_2606 .aem_w90 {
    width: 86%;
    margin: 7% 2%;
  }
  /* スマホではすべて 縦積み（上：画像、下：テキスト）に変更 */
  #frappe-fruitseries_cp_2606 .product-inner, #frappe-fruitseries_cp_2606 .product-item:nth-child(even) .product-inner {
    flex-direction: column;
    padding: 0px;
    gap: 0px;
  }
  /* --- 1本目の線（外側から5px内側） --- */
  #frappe-fruitseries_cp_2606 .product-inner::before {
    content: "";
    position: absolute;
    /* 背景の端から5px内側に配置 */
    top: 7px;
    left: 7px;
    right: 7px;
    bottom: 7px;
    /* ゴールドの線。色を画像に近づけた#EFBF7Bに。 */
    border: 3px solid #EFBF7B;
    pointer-events: none; /* テキスト選択などを邪魔しない */
    z-index: 1; /* 背景の上に配置 */
  }
  /* --- 2本目の線（1本目のさらに内側。間隔を5pxに設定） --- */
  #frappe-fruitseries_cp_2606 .product-inner::after {
    content: "";
    position: absolute;
    /* 1本目の線（5px）＋間隔（5px）＝ 背景の端から10px内側に配置 */
    top: 14px;
    left: 14px;
    right: 14px;
    bottom: 14px;
    /* 同じゴールドの線 */
    border: 1px solid #EFBF7B;
    pointer-events: none;
    z-index: 1;
  }
  #frappe-fruitseries_cp_2606 .product-img {
    width: 100%;
    flex: auto;
  }
  #frappe-fruitseries_cp_2606 .product-textR, #frappe-fruitseries_cp_2606 .product-textL {
    width: 100%;
    padding: 15px 25px 25px;
    border-radius: 0px;
  }
  #frappe-fruitseries_cp_2606 .product-date {
    margin: 2px 0 5px 0;
  }
  #frappe-fruitseries_cp_2606 .ribbon-wrapper {
    margin-bottom: 20px;
  }
}
@keyframes fadeUpAnim {
  0% {
    opacity: 0;
    transform: translateY(0px); /* 30px下からスタート */
  }
  100% {
    opacity: 1;
    transform: translateY(0); /* 本来の位置へ */
  }
}
/* =========================================
   スクロールアニメーション（共通の軽量化設定）
========================================= */
.js-fade, .js-fade-left, .js-fade-right {
  /* ▼ 追加：スマホのGPU（グラフィック専用処理）を強制的にオンにして動作を軽くする */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  /* ▼ 追加：ブラウザに「これからこの要素が動くよ」と事前予告して計算をスムーズにする */
  /*will-change: transform, opacity;*/
}
/* =========================================
   下からふわっと現れる
========================================= */
.js-fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.js-fade.is-active {
  opacity: 1;
  transform: translateY(0);
}
/* =========================================
   左からふわっと現れる
========================================= */
.js-fade-left {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.js-fade-left.is-active {
  opacity: 1;
  transform: translateX(0);
}
/* =========================================
   右からふわっと現れる
========================================= */
.js-fade-right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.js-fade-right.is-active {
  opacity: 1;
  transform: translateX(0);
}
/* =========================================
   スマホ表示（736px以下）のアニメーション上書き
   ※PCの「左右から」を、SPの「下から」に変更します
========================================= */
@media screen and (max-width: 736px) {
  .js-fade-left, .js-fade-right {
    /* 最初から横にズラすのをやめ、js-fadeと同じく30px下にセットします */
    transform: translateY(30px);
  }
  .js-fade-left.is-active, .js-fade-right.is-active {
    /* アクティブになったら、横ではなく縦（下）から元の位置に戻します */
    transform: translateY(0);
  }
}