/* コンテナ全体の調整 */
.cp-product-container {
    list-style: none;
    padding: 30px 0;
    border-bottom: 2px solid #eee;
    margin-bottom: 40px;
}

/* 1段目：商品名 */
.cp-product-name {
    /* width: 100%; */
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 25px;
    border-left: 8px solid #0070bc;
    padding-left: 15px;
    line-height: 1.3;
    box-sizing: border-box;
}

.cp-all-flex{
    display: flex;
    justify-content: center;
}


/* 2段目：画像と価格の横並び */
.cp-main-flex {
    display: flex;
    /* gap: 40px; */
    margin-bottom: 10px;
    align-items: flex-start;
    align-items: center;
}
.cp-image-box {
    flex: 0 0 400px; /* 画像サイズを固定 */
}

.cp-image-box img {
    width: 90%;
    height: auto;
    display: block;
    border: 1px solid #f7f7f7;
}

.cp-price-box {
    flex: 1; /* 残りの幅を価格エリアに */
}

/* 価格周りの装飾（以前のものを継承） */
.cp-benefit-title {
    color: #ff0000;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}
.cp-label {
  display: inline-block;
  padding: 4px 12px;
  font-size: 16px;
  font-weight: bold;
  border-radius: 4px;
  color: #fff;
  margin-bottom: 5px;
}

.cp-label-gray {
  background-color: #555;
}

.cp-label-red {
  background-color: #ff0000;
}

.cp-text-large {
  font-size: 20px;
  font-weight: bold;
  color: #333;
  margin: 0;
}

.cp-strike {
    text-decoration: line-through;
    color: #ff0000;
}

.cp-arrow {
  color: #ff0000;
  font-size: 35px;
  margin: 2px 0 2px 30px;
  line-height: 1;
}

.cp-text-extra-large {
    font-size: 20px;
    font-weight: bold;
}

.cp-price-red {
    color: #ff0000;
    font-size: 30px;
    font-weight: bold;
}

.cp-unit-black {
  font-size: 20px;
  color: #333;
}

.cp-footer-note {
  color: #888;
  font-size: 16px;
  margin-top: 10px;
}

/* 3段目：商品説明文フルサイズ */
.cp-description-full {
    width: 100%;
}

.cp-description-full .comment {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 20px;
}

/* ボタン */
.link_btn a {
    display: block;
    background-color: #ff8c00;
    color: #fff;
    text-align: center;
    padding: 18px;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
}

/* スマホ対応 */
@media (max-width: 800px) {
    .cp-main-flex {
        flex-direction: column;
    }
    .cp-image-box {
        flex: 0 0 auto;
        width: 100%;
    }
}

.va_category {
    background-image: url(/html/user_data/assets/img/item/energel_cp/bg_square.gif);
    padding: 0 20px;
}

.va_category>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: column !important;
    width: 100%;
    margin-top: 20px;
}

.va_category>li .link_btn {
    display: block;
    position: relative;
    margin: 15px auto;
    width: 100%;
    max-width: 420px !important;
}


.va_category>li .link_btn a {
    border: 2px solid #000;
    color: #000;
    background: white;
    font-weight: bold;
}

.va_category>li .link_btn a:after {
    content: "";
    position: absolute;
    top: 2px;
    bottom: .1em;
    right: 25px;
    margin: auto;
    width: .5em;
    height: .5em;
    border-top: .1em solid #555;
    border-right: .1em solid #555;
    transform: rotate(45deg);
}


.va_category>li .link_btn a:hover {
    opacity: 1;
    color: white;
    text-decoration: none;
    border-color: #e03131;
    background: #e03131;
}

.va_category>li .link_btn a:hover:after {
    border-top: .1em solid white;
    border-right: .1em solid white;
}

/* ボタンを横並びにする親要素 */
.cp-footer-nav {
  display: flex;
  gap: 20px;
  max-width: 900px; /* 必要に応じて調整してください */
  margin: 40px auto;
  padding: 0 20px;
}

/* ボタンの器 */
.cp-footer-nav .link_btn_wrap {
  flex: 1;
}

/* カテゴリボタン専用スタイル */
.btn-category {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  
  /* 見た目 */
  background-color: #ffffff;
  color: #000000;
  border: 2px solid #0070bc; 
  
  /* テキスト・サイズ */
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  padding: 20px 10px;
  border-radius: 50px;
  
  /* 動き */
  transition: all 0.3s ease;
  box-sizing: border-box;
}

/* 右側の矢印記号 (>) */
.btn-category::after {
  content: "";
  position: absolute;
  right: 25px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #0070bc; 
  border-right: 2px solid #0070bc; 
  transform: rotate(45deg);
  transition: all 0.3s ease;
}

/* ホバー時の挙動 */
.btn-category:hover {
  background-color: #0070bc; /* キャンペーンの赤 */
  border-color: #0070bc;
  color: #ffffff;
  text-decoration: none;
}

/* ホバー時の矢印の色 */
.btn-category:hover::after {
  border-color: #ffffff;
  right: 20px; /* 少しだけ右に動く演出 */
}

/* スマホ表示（800px以下）は縦に並べる */
@media (max-width: 800px) {
  .cp-footer-nav {
    flex-direction: column;
    gap: 15px;
  }
  .btn-category {
    font-size: 18px;
    padding: 15px 10px;
  }
}