/* カスタマイズ用CSS */ /*フリーエリア--------------*/
.p-coupon h1 {
    font-size: 20px;
    padding: 15px 10px;
    box-sizing: border-box;
}
@media screen and (max-width: 630px) {
    .p-coupon h1 {
        font-size: 18px;
        padding: 15px 10px;
        margin-bottom: 15px;
    }
}
.p-coupon h2 {
    font-size: 18px;
    padding: 10px 15px;
    background: #ecf0f1;
    font-weight: 700;
    margin-bottom: 30px;
    line-height: 1.6;
    margin-top: 30px;
}
@media screen and (max-width: 600px) {
    .p-coupon h2 {
        font-size: 16px;
        padding: 10px 15px;
        margin-bottom: 15px;
    }
}
.p-coupon p {
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 20px;
    line-height: 1.6;
}
@media screen and (max-width: 600px) {
    .p-coupon p {
        font-size: 14px;
    }
}
.p-coupon h3 {
    font-size: 16px;
    font-weight: 700;
    margin: 20px 0 15px;
    line-height: 1.6;
}
@media screen and (max-width: 600px) {
    .p-coupon h3 {
        font-size: 15px;
    }
}
.p-coupon ul {
    margin: 20px 0;
    padding-left: 20px;
}
.p-coupon ul li {
    font-size: 15px;
    line-height: 1.8;
    position: relative;
}
@media screen and (max-width: 600px) {
    .p-coupon ul li {
        font-size: 14px;
    }
}
.p-coupon ul li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: -20px;
}
.p-coupon ol {
    margin: 20px 0;
    padding-left: 20px;
}
.p-coupon ol li {
    font-size: 15px;
    line-height: 1.8;
    position: relative;
}
@media screen and (max-width: 600px) {
    .p-coupon ol li {
        font-size: 14px;
    }
}
.p-coupon table {
    width: 100%;
    table-layout: fixed;
    font-size: 15px;
    border-top: 1px solid #ddd;
}
@media screen and (max-width: 720px) {
    .p-coupon table {
        border-bottom: 1px solid #ddd;
    }
}
@media screen and (max-width: 600px) {
    .p-coupon table {
        font-size: 14px;
    }
}
.p-coupon table tr {
    border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 720px) {
    .p-coupon table tr {
        border-bottom: 0;
    }
}

.p-coupon table th {
    padding: 0.5em 0.3em;
    width: 40%;
    box-sizing: border-box;
    vertical-align: top;
}
.p-coupon table td {
    padding: 0.5em 0.3em;
    vertical-align: top;
    width: 60%;
    box-sizing: border-box;
}
#pageTop img {
    width: 35px;
    height: 35px;
}
#pageTop {
    width: 35px;
    display: block;
}
.l-camp-txt-wrap.l-camp-img-wrap {
    background-size: contain;
    height: 30px;
}
@media only screen and (max-width: 768px) {
    .l-camp-txt-wrap-sp.l-camp-img-wrap {
            background-size: contain;
    height: 30px;
    }
}
/* ヘッダー背景色変更--------------*/
.l-camp-txt-wrap, .l-camp-txt-wrap-sp {
background: #ffffff;
}
.ec-registerRole__actions .ec-checkbox{
    margin-bottom: 30px;
}
.txt-center{
    text-align: center;
}
.c-enty-wrap{
    margin-bottom: 20px;
}
/*商品詳細ページクーポン*/
 .c-product-coupon-li {
        cursor: pointer;
        position: relative;
      }
      .c-product-coupon-li.is-active {
        border: 1px solid #4088cc; /* お好みの強調色に変更してください */
        background-color: #eef7ff; /* 背景色も変えると分かりやすくなります */
      }
     /* ツールチップ本体 */
.c-product-coupon-li div.c-product-coupon-tooltip {
  position: absolute;
  top: -29px; /* 枠線がついた分、少し上に調整 */
  left: 50%;
  transform: translateX(-50%);
  background-color: #ffffff; /* 背景色：白 */
  color: #000;
  padding: 3px 10px;
  border-radius: 2px;
  font-size: 9px;
  white-space: nowrap;
  z-index: 10;
  pointer-events: none;
  display: none;
  
  /* 枠線の追加 */
  border: 1px solid #0000ff; /* 枠線：青（お好みの青色 #0000ff 等に変更してください） */
  width: 90%;
}

/* 吹き出しの三角部分（外側の青い枠線用） */
.c-product-coupon-li div.c-product-coupon-tooltip::before {
  content: "";
  position: absolute;
  top: 100%; 
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent; /* 中の三角より少し大きく */
  border-top-color: #0000ff; /* 本体と同じ青 */
}

/* 吹き出しの三角部分（内側の白い背景用） */
.c-product-coupon-li div.c-product-coupon-tooltip::after {
  content: "";
  position: absolute;
  top: 100%; 
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #ffffff; /* 背景色の白 */
  margin-top: -1px; /* 1px上にずらして青い枠線を出す */
}
#coupon-list{
    padding-top: 20px;
}
.header-bnr:hover{
opacity: 1;
}
/*ブランドストーリー*/
/* 初期状態では非表示にしておく */
.show_more-01 {
  display: none;
}
.p-freearea-inner-01 {
  position: relative;
  margin-bottom: 0;
}
.p-freearea-inner-01.add {
  margin-bottom: 18px;
}
.p-freearea-inner-txt-01 {
  overflow: hidden;
  max-height: 160px;
  transition: max-height 0.5s ease;
}
@media screen and (max-width: 400px) {
  .p-freearea-inner-txt-01 {
    max-height: 95px;
  }

  .p-freearea-inner-01.add {
    margin-bottom: 5px;
  }
}
.p-freearea-inner-txt-01.open {
  max-height: 5000px; /* 9999pxでもOK。とにかく十分大きく */
  margin-bottom: 80px;
}
.show_more-01 {
  position: absolute;
  bottom: -4px;
  left: 0px;
  width: 100%;
  height: 30px;
  padding-top: 30px;
  text-align: right;
  line-height: 0px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 70%
  );
  cursor: pointer;
  transition: bottom 0.2s;
}
.p-freearea-inner-txt-01.open .show_more-01 {
  background: none;
  bottom: -20px;
}
.show_more-close-01 {
  position: absolute;
  bottom: -30px;
  left: 0px;
  width: 100%;
  height: 30px;
  padding-top: 30px;
  text-align: center;
  line-height: 30px;

  cursor: pointer;
  transition: bottom 0.2s;
}

.show_more-01 a,
.show_more-close-01 a {
  text-decoration: none;

  width: 100%;
  font-size: 14px;
  color: #000;
  display: inline-block;
}
@media screen and (max-width: 400px) {
  .show_more-01 {
    padding-top: 20px;
  }
  .show_more-01 a,
  .show_more-close-01 a {
    width: 90%;
    margin: 0 auto;
    font-size: 12px;

  }
}
.p-freearea-inner-01.open {
  height: auto;
}
.show_more-01 a {
  text-decoration: underline;
}
.c-guide-btn-01.c-guide-btn-last .c-guide-btn-01-li a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 500px) {
.ec-input input, .ec-birth input, .ec-select input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input {
font-size: 13px;
}
}
.c-cart-btn-nomal-wrap{
    margin-bottom: 10px;
}
.c-item-list-li-title-brand {
    border-right: solid 1px #7f8c8d;
}
.ranking-list-wrap .c-item-list-li-title-brand {
    border-right:none;
}
.ec-pager .ec-pager__item--active:hover{
    color: #000;
}
.c-soldout-brand a {
padding: 15px 20px;
font-size: 13px;
}
.c-soldout-brand a:after {
    right:12px;
}
.c-soldout-brand {
max-width:100%;
}
/**/