.elementor-1049 .elementor-element.elementor-element-ce397f5{--display:flex;}/* Start custom CSS */.love-menu-page {
  position: relative;
  overflow: hidden;
  max-width: 900px;
  margin: 0 auto;
  padding: 46px 18px 70px;
  font-family: "Hiragino Sans", "Yu Gothic", sans-serif;
  color: #4a2b38;
  background:
    radial-gradient(circle at 50% -10%, rgba(255,255,255,0.9), transparent 50%),
    radial-gradient(circle at 20% 10%, rgba(255, 200, 225, 0.45), transparent 45%),
    radial-gradient(circle at 85% 0%, rgba(255, 230, 245, 0.75), transparent 50%),
    radial-gradient(circle at 50% 100%, rgba(255, 210, 235, 0.35), transparent 60%),
    linear-gradient(180deg, #fff7fb 0%, #fff1f7 30%, #ffffff 55%, #fff6fb 80%, #fff2f8 100%);
}
.love-menu-page {
  background: transparent !important;
}


.love-menu-page::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -10px;
  width: 260px;
  height: 260px;
  background: url("http://localhost:8882/wp-content/uploads/2026/05/moon.png") no-repeat center;
  background-size: contain;
  opacity: 0.35;
  pointer-events: none;
  z-index: 0;
}

.love-menu-page::after {
  content: "";
  position: absolute;
  top: -10px;
  right: 10px;
  width: 240px;
  height: 240px;
  background: url("http://localhost:8882/wp-content/uploads/2026/05/heart-300x200.png") no-repeat center;
  background-size: contain;
  opacity: 0.35;
  pointer-events: none;
  z-index: 0;
}


.love-menu-header,
.love-menu-grid {
  position: relative;
  z-index: 1;
}

.love-menu-header {
  text-align: center;
  margin-bottom: 42px;
}

.love-menu-label {
  display: inline-block;
  margin-bottom: 10px;
  color: #c7965e;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.love-menu-header h1 {
  margin: 0 0 12px;
  font-size: 38px;
  line-height: 1.35;
  color: #7b2637;
  letter-spacing: 0.08em;
  font-weight: 800;
}

.love-menu-header p {
  margin: 0;
  color: #8a5d6b;
  font-size: 15px;
  line-height: 1.8;
}

.love-menu-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.love-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 120px;
  padding: 35px 14px 18px;
  justify-content: flex-start;
  border-radius: 11px;
  background: linear-gradient(180deg, #ffffff 0%, #fff9fc 100%);
  border: 1px solid #f1c9d6;
  box-shadow: 0 8px 18px rgba(143, 68, 96, 0.08);
  text-align: center;
  text-decoration: none;
  color: #3f2730;
  transition: 0.25s ease;
}

.love-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(143, 68, 96, 0.15);
}

.love-card strong {
  display: block;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 800;
  margin-bottom: 8px;
}

.love-card small {
  display: block;
  font-size: 12px;
  line-height: 1.65;
  color: #7f6770;
}

.premium-card {
  background: linear-gradient(180deg, #ffffff 0%, #fff8ff 100%);
  border-color: #e2c27a;
}

.premium-badge {
  position: absolute;
  top: 5px;
  right: -6px;
  padding: 8px 16px 5px 14px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #fffaf0;
  background: linear-gradient(135deg, #c79a42 0%, #e6c36a 45%, #a87425 100%);
  border-radius: 999px 0 0 999px;
  box-shadow: 0 6px 14px rgba(145, 93, 28, 0.25), inset 0 1px 0 rgba(255,255,255,0.45);
}

.premium-badge::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -6px;
  border-top: 6px solid #7b541f;
  border-right: 6px solid transparent;
}

.premium-card:hover .premium-badge {
  transform: translateX(-2px);
}

.final-card:hover .special-badge {
  transform: translateX(-3px);
  box-shadow:
    0 8px 18px rgba(150, 60, 110, 0.35),
    inset 0 1px 0 rgba(255,255,255,0.5);
}

.premium-lead {
  position: relative;
  text-align: center;
  margin: 30px 0;
  padding: 18px 0;
  font-size: 14px;
  letter-spacing: 0.08em;
  color: #7b5a67;
}

.premium-lead::before,
.premium-lead::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d9a9be, transparent);
}

.premium-lead::before {
  top: 0;
}

.premium-lead::after {
  bottom: 0;
}

.final-card {
  position: relative;
  /*min-height: auto;*/
  padding: 35px 14px 18px;

  background: linear-gradient(
    135deg,
    #fff8d6 0%,   /* 強い光 */
    #f6e27a 10%,  /* 明るい金 */
    #d4af37 25%,  /* ゴールド本体 */
    #b8962e 40%,  /* 少し沈む */
    #8c6b12 55%,  /* 深い影（ここが重要） */
    #d4af37 70%,  /* 反射 */
    #fff3a0 85%,  /* 光戻り */
    #b8962e 100%  /* 締め */
  );

  border: 1px solid #d4af37;
  position: relative;
  /*overflow: hidden;*/
  box-shadow:
    0 14px 30px rgba(120, 80, 20, 0.4),  /* 外の影強化 */
    inset 0 3px 8px rgba(255,255,255,0.8), /* 上の光 */
    inset 0 -6px 12px rgba(90, 60, 10, 0.5); /* 下の影 */
}
.final-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40%;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0.35),
    transparent
  );
  pointer-events: none;
  overflow: visible !important;
}


.final-card strong {
  color: #2b1800;
  text-shadow:
    0 3px 7px rgba(255,255,255,0.6),
    0 2px 4px rgba(0,0,0,0.2);
}

.final-card small {
  color: #3a2400; /* 少し濃いブラウン */
  text-shadow: 0 1px 6px rgba(255,255,255,0.5);
}

.special-badge {
  position: absolute;
  top: 5px;
  right: -6px;
  padding: 8px 16px 5px 20px;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  z-index: 2;
  color: #fff;
  background: linear-gradient(135deg, #c45a8c 0%, #d76fa3 45%, #8f3c6b 100%);
  border-radius: 999px 0 0 999px;
  box-shadow: 0 6px 14px rgba(150, 60, 110, 0.25), inset 0 1px 0 rgba(255,255,255,0.4);
}

.special-badge::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -6px;
  border-top: 6px solid #6e2b50;
  border-right: 6px solid transparent;
}

.price-box {
  position: absolute;
  top: -5px;
  left: 15px;
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}

.price-sub {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.6);
  white-space: nowrap;
}

.price-main {
  font-size: 13px;
  font-weight: 700;
  color: #2b1a20;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .love-menu-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 700px) {
  .love-menu-page {
    padding: 34px 12px 54px;
  }

  .love-menu-header h1 {
    font-size: 28px;
  }

  .love-menu-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .love-card {
    min-height: 135px;
    padding: 36px 10px 10px;
  }

  .love-card strong {
    font-size: 12.5px;
    line-height: 1.25;
    margin-bottom: 4px;
  }

  .love-card small {
    font-size: 10.5px;
    line-height: 1.3;
  }

  .premium-badge {
    top: 6px;
    right: -4px;
    padding: 3px 9px 3px 8px;
    font-size: 7.5px;
  }

  .final-card {
    min-height: 155px;
    padding: 64px 8px 10px;
  }

  .final-card .price-box {
    top: 5px;
    left: 6px;
  }

  .final-card .price-main,
  .final-card .price-sub {
    font-size: 7px;
    line-height: 1.05;
  }

  .final-card .special-badge {
    top: 5px;
    right: -4px;
    padding: 3px 8px 3px 7px;
    font-size: 7px;
    letter-spacing: 0.03em;
    white-space: nowrap;
  }

  .final-card strong {
    font-size: 11.5px;
    line-height: 1.2;
  }

  .final-card small {
    font-size: 9.5px;
    line-height: 1.25;
  }
}/* End custom CSS */