@charset "UTF-8";
/* CSS Document */


/* ==================================================
   1. システムタイトルの非表示（完全に隠す）
================================================== */
.ttl-h2 { display: none !important; }

/* ==================================================
   2. 全体フォント・美しい改行コントロール
================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap');

.ml-final-wrapper, #seo-text-wrap, .seo-story-lead, .seo-story-title, #seo-text-wrap p.seo-story-text {
  font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif !important;
}

.ib { display: inline-block; }

/* ==================================================
   3. 【超スッキリ最強案】白背景×テキストのみのヘッダー
================================================== */
.ml-final-wrapper { max-width: 1000px; margin: 10px auto; padding: 0 15px; background-color: #fff; }

.ml-final-header { 
    text-align: center; 
    padding: 15px 0 15px 0; 
    margin-bottom: 0; 
    background-color: transparent; 
}
.ml-final-sub-title { 
    font-family: 'Playfair Display', serif; 
    font-size: 12px; 
    color: #d4a373; /* 厄除けに合わせた落ち着いたゴールド */
    font-weight: 400; 
    letter-spacing: 0.2em; 
    margin-bottom: 8px; 
    display: block; 
    text-transform: uppercase; 
}
.ml-final-main-copy { 
    font-size: 21px; 
    font-weight:400; 
    color: #7a6f66; 
        margin-top: 0; 
    margin-bottom: 0; 
    line-height: 1.8; 
    letter-spacing: 0.05em;
}

.ml-final-tags {
    text-align: center; 
    margin-bottom: 25px; 
}
.ml-final-tag-btn {
    display: inline-block;
    border: 1px solid #e6d3c3; 
    border-radius: 20px; 
    padding: 5px 22px;
    font-size: 12px;
    color: #555 !important;
    text-decoration: none !important;
    background-color: #fff;
    margin: 0 6px;
    transition: all 0.3s ease;
    letter-spacing: 0.05em;
}
.ml-final-tag-btn:hover {
    background-color: #faf9f6;
    border-color: #d4a373;
    color: #333 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(212, 163, 115, 0.1);
}

/* ==================================================
   4. コレクションバナー群
================================================== */
.ml-final-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.ml-final-card { border: 1px solid #f0f0f0; border-radius: 8px; overflow: hidden; background: #fff; display: flex; flex-direction: column; transition: all 0.3s ease; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02); position: relative; }
.ml-final-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(212, 163, 115, 0.15); border-color: #d4a373; }

.ml-final-img { width: 100%; padding-top: 100%; position: relative; background: #fff; }
.ml-final-img-link { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ml-final-img-link img { width: 100%; height: 100%; object-fit: contain; padding: 10px; transition: transform 0.3s ease; }
.ml-final-card:hover .ml-final-img-link img { transform: scale(1.03); }

.ml-final-badge { position: absolute; top: 10px; left: 10px; background: #fff; color: #d4a373; border: 1px solid #e6d3c3; padding: 4px 10px; font-size: 11px; font-weight: 500; border-radius: 4px; z-index: 2; letter-spacing: 0.05em; }

.ml-final-info-link { text-decoration: none !important; color: inherit !important; display: flex; flex-direction: column; flex-grow: 1; }
.ml-final-info { padding: 15px; flex-grow: 1; display: flex; flex-direction: column; }
.ml-final-name { font-weight: 500; font-size: 14px; margin-bottom: 8px; color: #333; line-height: 1.4; text-align: center; }
.ml-final-reason { font-size: 12px; color: #666; line-height: 1.5; margin-bottom: 12px; flex-grow: 1; font-weight: 400; text-align: center; word-break: keep-all; overflow-wrap: anywhere; }
.ml-final-price { font-size: 16px; color: #333; font-weight: 600; margin-top: auto; padding-top: 10px; border-top: 1px solid #f5f5f5; text-align: center; letter-spacing: 0.05em; }
.ml-final-price small { font-size: 11px; color: #d4a373; font-weight: 400; margin-left: 4px; }

/* ==================================================
   ★ スマホ対応：ファーストビュー確保のため超絶圧縮！
================================================== */
@media (max-width: 768px) {
  .ml-final-wrapper { margin: 0 auto 15px auto; padding: 0 10px; }
  
  .ml-final-header { padding: 5px 0 10px 0; margin-bottom: 0; }
  .ml-final-sub-title { font-size: 10px; margin-bottom: 5px; }
  .ml-final-main-copy { font-size: 15px; line-height: 1.4; } 
  
  .ml-final-tags { margin-bottom: 15px; }
  .ml-final-tag-btn { padding: 4px 16px; font-size: 11px; margin: 0 4px; }

  .ml-final-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ml-final-card:hover { transform: translateY(-2px); }
  .ml-final-img img { padding: 5px; }
  .ml-final-badge { top: 5px; left: 5px; font-size: 9px; padding: 3px 6px; }
  .ml-final-info { padding: 10px 5px; }
  .ml-final-name { font-size: 11px; margin-bottom: 6px; }
  .ml-final-reason { font-size: 10px; margin-bottom: 8px; line-height: 1.3; }
  .ml-final-price { font-size: 14px; padding-top: 6px; }
  .ml-final-price small { font-size: 10px; }
}

/* ==================================================
   5. SEO用長文コラム＆下部ナビゲーション
================================================== */
#seo-text-wrap { margin: 40px auto 30px auto; padding: 40px 15px; max-width: 800px; border-top: 1px solid #f0f0f0; clear: both; }
.seo-story-lead { text-align: center; font-size: 16px !important; font-weight: 500 !important; color: #333 !important; letter-spacing: 0.1em !important; margin-bottom: 20px; line-height: 1.6 !important; }
.seo-story-divider { width: 30px; height: 1px; background-color: #e6d3c3; margin: 0 auto 30px auto; }
.seo-story-section { margin-bottom: 40px; }
.seo-story-title { text-align: center; font-size: 15px !important; font-weight: 600 !important; color: #333 !important; letter-spacing: 0.1em !important; margin-bottom: 15px; line-height: 1.6 !important; }
.seo-story-title::before, .seo-story-title::after { content: " &#10023; "; color: #f0e6e1; font-weight: 300; font-size: 12px; margin: 0 10px; }
#seo-text-wrap p.seo-story-text { color: #666 !important; font-size: 14px !important; font-weight: 400 !important; line-height: 2 !important; letter-spacing: 0.05em !important; margin: 0; text-align: left !important; }

/* EXPLORE MORE (邪魔なリンクを下部に美しく配置) */
.elegant-bottom-nav { margin-top: 50px; padding-top: 30px; border-top: 1px solid #f0f0f0; text-align: center; }
.elegant-bottom-nav-title { font-family: 'Playfair Display', 'Didot', serif; font-size: 13px; letter-spacing: 0.2em; color: #d4a373; margin-bottom: 20px; text-transform: uppercase;}
.bottom-nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px 25px; }
.bottom-nav-links a { color: #666 !important; font-size: 13px !important; text-decoration: none !important; letter-spacing: 0.1em; transition: color 0.3s ease; }
.bottom-nav-links a:hover { color: #d4a373 !important; }

.spbr { display: none; }
.pc_visible { display: block !important; }
.sp_visible { display: none !important; }

@media screen and (max-width: 568px) {
  #seo-text-wrap { margin: 20px 10px; padding: 25px 10px; }
  .seo-story-lead { font-size: 14px !important; line-height: 1.5 !important; }
  .seo-story-title { font-size: 13px !important; margin-bottom: 12px; }
  .seo-story-divider { margin: 0 auto 20px auto; }
  .seo-story-section { margin-bottom: 30px; }
  #seo-text-wrap p.seo-story-text { font-size: 13px !important; line-height: 1.8 !important; }
  .bottom-nav-links { gap: 12px 15px; }
  .bottom-nav-links a { font-size: 12px !important; }
  .spbr { display: block; }
  .pc_visible { display: none !important; }
  .sp_visible { display: block !important; }
}

.tk-prd.prd-lst-pager-phone.col-md-12.col-lg-12.col.hidden-desktop.end-tk { display: none!important; }
	.wish2-banner{
  text-align:center;
  margin:0 auto;
  max-width:1000px;
}

.wish2-banner-title{
  margin:0 0 5px;
  padding:0;
  line-height:1.5;
  font-size:11px;
  color:#999;
  font-weight:300;
  letter-spacing:.1em;
}

.wish2-banner-img{
  width:100%;
  height:auto;
  display:block;
  margin-top:5px;
}
