table.tbl_calendar {
    text-align: center;
    width: 100%;
    margin-bottom: 15px;
}
table.tbl_calendar caption{
  font-weight: bold;
  margin: 10px auto;
}

      .product__fav-item {
          margin-top: 10px;
        }

        .product__fav-item button {
          padding: 0;
          cursor: pointer;
          transition: .2s;
          color: #999;
          border: 0;
          outline: none;
          background: transparent;
        }

        .product__fav-item .fav-items {
          color: #ff7373;
        }

        .product__fav-item svg {
          width: 20px;
          height: 20px;
          vertical-align: -.35em;
          fill: currentColor;
        }


.fav-item{
  position: absolute;
  right: 25px;
  top: 10px;
}
@media (max-width: 767px) {
  .fav-item{
    position: absolute;
    right: 15px;
    top: 10px;
  }
  .itemList-sp--3 .fav-item {
    right: 10px;
    top: 5px;
  }
}
.fav-item button {
    animation: none;
    border: none;
    background: none;
    padding: 0;
    color: rgba(0,0,0, 0.5);
   cursor: pointer;
}
.fav-item button.is-added {
    color: rgba(255, 115, 115, 0.5);
}

h1#logo_i img {
    max-width: 100%;
}

#validation_select_yes a, #validation_select_no a {
    font-size: 12px;
    padding: 12px 25px;
}

#validation_select_yes, #validation_select_no{
  margin:0;
}

#main_i,#header_i,#footer_i{
  margin:0;
  font-size:14px;
}

.validation_txt {
    font-size: 14px;
}
#main_i {
    padding: 20px;
}
.footstamp {
    margin-top: 15px;
}
/*--追加分（クラス名は「Tailwind CSS」を真似）--*/
.font-bold {
  font-weight: 700;
}

/*--1回だけ表示のポップアップバナー設置--*/
.popup_wrapper p{
    margin:0;
    padding:0;
}
  
body.open_popup {
    overflow: hidden;
}
  
.popup_wrapper {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
  }
  
body.open_popup .popup_wrapper {
    opacity: 1;
    visibility: visible;
}
  
.popup_wrapper .popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 600px;
    max-width:90%;
}
  
.popup_wrapper .popup_concent {
    position: relative;
    color: #fff;
    text-align: center;
    line-height: 1.5;
    margin:0;
}
  
.popup_wrapper .popup_close {
    position: absolute;
    top: -20px;
    right: 0;
    width: 30px;
    height: 30px;
    transform: translateY(-50%);
    cursor: pointer;
}
.popup_wrapper .popup_close::before,
.popup_wrapper .popup_close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 2px;
    background-color: #fff;
    content: "";
  }
.popup_wrapper .popup_close::before {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.popup_wrapper .popup_close::after {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }
/*--1回だけ表示のポップアップバナー設置 ここまで--*/

.fa-chevron-right:before {
 	color: #80C3C0; 
}
.fa-chevron-left:before {
 	color: #80C3C0; 
}
/* ========================================
   KEISEIメインビジュアル限定アニメーション
======================================== */

/*
  外側のスライダーにはoverflow:hiddenを設定しない。
  左右矢印が切れるのを防ぐ。
*/
#mainSlider .keiseiHero__link {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
}

#mainSlider .keiseiHero__link picture {
  position: relative;
  z-index: 0;
  display: block;
}

/* KEISEI画像の基本状態 */
#mainSlider .keiseiHero__link img {
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1);
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: transform;
}

/* KEISEIスライドが表示中のときだけズーム */
#mainSlider .keiseiHero.slick-current .keiseiHero__link img {
  animation: keiseiHeroZoomPc 8s ease-out both;
}

@keyframes keiseiHeroZoomPc {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.035);
  }
}

/* ----------------------------------------/* ========================================
   KEISEI限定：左上の光がゆっくり強くなる
======================================== */

#mainSlider .keiseiHero__link {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
}

/* 左上の光 */
#mainSlider .keiseiHero__link::after {
  position: absolute;
  top: -18%;
  left: -10%;
  z-index: 2;

  width: 55%;
  height: 90%;

  content: "";
  pointer-events: none;

  opacity: 0;

  background:
    radial-gradient(
      ellipse at 15% 10%,
      rgba(255, 255, 235, 0.34) 0%,
      rgba(255, 255, 235, 0.18) 22%,
      rgba(255, 255, 240, 0.07) 45%,
      rgba(255, 255, 255, 0) 72%
    );

  filter: blur(10px);
  transform: scale(1);
  transform-origin: top left;

  mix-blend-mode: screen;
  will-change: opacity, transform, filter;
}

/* KEISEIのスライドが表示されているときだけ発光 */
#mainSlider .keiseiHero.slick-current .keiseiHero__link::after {
  animation: keiseiLightGlow 7s ease-in-out both;
}

@keyframes keiseiLightGlow {
  0% {
    opacity: 0;
    transform: scale(0.98);
    filter: blur(12px);
  }

  20% {
    opacity: 0.18;
  }

  55% {
    opacity: 0.65;
    transform: scale(1.06);
    filter: blur(8px);
  }

  100% {
    opacity: 0.28;
    transform: scale(1.02);
    filter: blur(11px);
  }
}

/* スマートフォンは少し控えめにする */
@media screen and (max-width: 750px) {
  #mainSlider .keiseiHero__link::after {
    top: -10%;
    left: -18%;
    width: 78%;
    height: 65%;
  }

  @keyframes keiseiLightGlow {
    0% {
      opacity: 0;
      transform: scale(0.98);
      filter: blur(12px);
    }

    25% {
      opacity: 0.12;
    }

    55% {
      opacity: 0.4;
      transform: scale(1.04);
      filter: blur(9px);
    }

    100% {
      opacity: 0.2;
      transform: scale(1.01);
      filter: blur(11px);
    }
  }
}

/* 動きを抑える端末設定への対応 */
@media (prefers-reduced-motion: reduce) {
  #mainSlider .keiseiHero.slick-current .keiseiHero__link::after {
    animation: none;
    opacity: 0.25;
  }
}
/* ----------------------------------------
   スマートフォン
---------------------------------------- */

@media screen and (max-width: 750px) {
  /* SPは文字や商品が切れないようにズーム量を抑える */
  #mainSlider .keiseiHero.slick-current .keiseiHero__link img {
    animation-name: keiseiHeroZoomSp;
  }

  @keyframes keiseiHeroZoomSp {
    0% {
      transform: scale(1);
    }

    100% {
      transform: scale(1.018);
    }
  }

  /* SPは光を少し控えめにする */
  #mainSlider .keiseiHero__link::after {
    width: 60%;
    opacity: 0;
  }

  @keyframes keiseiLightSweep {
    0% {
      opacity: 0;
      transform: translateX(0) rotate(-7deg);
    }

    20% {
      opacity: 0.08;
    }

    50% {
      opacity: 0.32;
    }

    80% {
      opacity: 0.08;
    }

    100% {
      opacity: 0;
      transform: translateX(280%) rotate(-7deg);
    }
  }
}

/* 動きを減らす設定を使用している端末への配慮 */
@media (prefers-reduced-motion: reduce) {
  #mainSlider .keiseiHero.slick-current .keiseiHero__link img,
  #mainSlider .keiseiHero.slick-current .keiseiHero__link::after {
    animation: none;
  }
}