/* --- 基本設定 --- */
.vday {font-size: medium;}
.vday h1 { font-size: 1.5rem; margin-bottom: 1rem; }
.vday h2 { font-size: 2.5rem; margin: 2% 0; }
.category_page h2 { border-bottom: solid 1px; margin-bottom: 1em; font-size: 1.5em; color: #696969; }

ul { list-style: none; padding: 0; margin: 0; }

/* --- 目次部分 --- */
.ct_mokuji_wrap { border: solid 1px #444; margin: 0 2em 1em; background-color: #fff; border-radius: 5px; }
.ct_mokuji_title { font-weight: bold; font-size: 1.5em; line-height: 2.5em; color: #FFFFFF; padding-left: 1em; background-color: #333; cursor: pointer; }
.ct_mokuji_list { display: flex; flex-wrap: wrap; justify-content: flex-start; padding: 10px 2%; }
.ct_mokuji_list li { position: relative; width: 47%; margin: 1%; font-size: 1.1em; background-color: #666; transition: 0.3s; border-radius: 0.25rem; }
.ct_mokuji_list li a { color: #FFFFFF; display: block; text-align: center; padding: 0.5em 0; text-decoration: none; }
.ct_mokuji_list li a:hover { color: #333; background-color: #efefef; font-weight: bold; }

/* --- 本文テキスト装飾 --- */
.ct_text { color: #000000; margin-bottom: 2em; padding-bottom: 2em; }
.ct_text h2 { position: relative; border-bottom: solid 5px gray; padding-bottom: 5px; }
.ct_text h2::after { position: absolute; content: ""; display: block; border-bottom: solid 5px #c44a83; bottom: -5px; width: 20%; }
.ct_text h3 { padding: 0.5em; border-left: solid 6px #c44a83; background: #fceffb; margin-top: 2em; }
.ct_text strong { color: #000; background: linear-gradient(transparent 50%, rgba(250, 175, 204, 0.9) 50%); }

.ct_matome { margin: 1em 2em 3em; background-color: #efefef; padding: 20px; }
.ct_matome ul { list-style: disc; margin-left: 1.5em; }
.ct_matome li { line-height: 2em; margin-bottom: 0.5em; }

.ct_single { margin: 2% 0; line-height: 1.8; }
.ct_image { text-align: center; }
.ct_image img { max-width: 600px; width: 100%; height: auto; margin: 0 auto; }
.dot_list { list-style: disc; margin-left: 1.5rem; margin-bottom: 1.5rem; }

/* --- 商品アイテムリスト (PC: 4列 / スマホ: 2列) --- */
.list-item { display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 2em 0; }
.list-item  a{text-decoration: none;}
.list-item li { 
  width: 23.5%; /* PCは4列 */
  margin: 0.75%; 
  box-sizing: border-box; 
  text-align: center; 
  margin-bottom: 40px; 
  display: flex; 
  flex-direction: column; 
  justify-content: space-between; 
}
.list-item li img { width: 100%; height: auto; border-radius: 8px; }
.list-item .main-item-name { 
  display: block !important; 
  color: #333 !important; 
  font-size: 1.1em; 
  font-weight: bold; 
  margin: 10px 0 5px; 
  min-height: 3em; 
  text-decoration: none; 
  line-height: 1.4;
}
.list-item .main-item-price { color: #d00000; font-size: 1.2em; font-weight: bold; margin-bottom: 10px; }
._price-yen { color: #333; font-size: 0.8em; }

/* --- 共通ボタンスタイル (詳細はこちら) --- */
 .category-link-button{
    width : 100%;
    display       : inline-block;
    border-radius : 5%;         
    font-size     : 14pt !important;       
    text-align    : center;     
    cursor        : pointer;    
    padding       : 12px 12px;  
    background    : #ffffff;     
    color         : #ff7f00;     
    line-height   : 0.5em;         
    transition    : .3s;         
    box-shadow    : 2px 2px 3px #666666; 
    border        : 2px solid #ff7f00;    
  }
.category-link-button:hover { background: #ff7f00; color: #fff; box-shadow: none; text-decoration: none; }
a.category-link-button {color:#ff7f00;}
/* --- 本数意味リスト (テーブル風) --- */
.rose_list { display: grid; grid-template-columns: 300px 1fr; border-top: 1px solid #ccc; width: 90%; margin: 0 auto;}
.rose_list dt { background-color: #efefef; font-weight: bold; padding: 10px; border-bottom: 1px solid #ccc; border-left: 1px solid #ccc; display: flex; align-items: center; }
.rose_list dd { margin: 0; padding: 10px; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; border-left: 1px solid #ccc; }

/* --- レスポンシブ (スマホ表示) --- */
@media screen and (max-width: 768px) {
  .vday h1 { font-size: 1.3rem; }
  .ct_mokuji_list li { width: 96%; margin: 1% 2%; }
  .ct_image img { width: 100%; }

.ct_mokuji_wrap{margin:0;}
.ct_matome{margin:1em 0;}
.rose_list{width:100%;}
.vday h2{font-size:2.0rem;}
.main-title._vday{font-size:1.8rem;}
.ct_mokuji_title{font-size:2rem;}

  /* スマホ時：2列表示 */
  .list-item li { width: 48%; margin: 1%; margin-bottom: 30px; }

 .list-item li:only-child {
    width: 96%;
    margin: 0 auto 40px;
  }
  .list-item .main-item-name { font-size: 0.95em; min-height: 4em; }
  .list-item .main-item-price { font-size: 1.1em; }
  .category-link-button { font-size: 11pt !important; width: 95%; }

  .rose_list { grid-template-columns: 1fr; }
  .rose_list dt { border-right: 1px solid #ccc; }
}

/*
.category_page h2{border-bottom: solid 1px; margin-bottom: 1em; font-size: 2.5em; color: #696969;}
 
.main-title._vday{background-color:#454545;color:#ffffff;border:0; font-size: 2.5rem;}

.slide-number{display: none;}
.main-delivery-text{line-height: 1.6rem;}

.swiper{
  padding:0 ;
  margin: 0;
  height: 500px;
}
.swiper-slide{line-height: 50px;}

.main-item-name{height: 40px; font-size: 1.8rem;}

@media screen and (max-width: 768px) {

.swiper-slide .main-item-name{ height: 30px;}
.main-item02 .main-item-name{height: 30px;}


  @media (orientation: portrait) {
    .swiper {
     padding:0 ;
    margin: 0;
    height: 380px;
    }
  }

  @media (orientation: landscape) {
    .swiper {
        padding:0 ;
        margin: 0;
        height: 500px;
    }
  }


}
*/
