/*PCスマホ切り替え*/
.pc_visible_i{
display:inline-block;
}
.sp_visible_i{
display:none;
}
@media screen and (max-width: 768px) {
.pc_visible_i{
display:none;
}
.sp_visible_i{
display:inline-block;
}
}


.in2left,.in2right img{
width:800px;
}

.in2left02,.in2right02 img{
width:800px;
}


.in2left { 
  float: left;
  width: calc(50% - 6px);
  padding: 0 6px 10px 0;
}
.in2right { 
float: right;
  width: calc(50% - 6px);
  padding: 0 0 10px 6px;
}
.in2left02 { 
  float: left;
  width: calc(50% - 6px);
  padding: 0 6px 10px 0;
}
.in2right02 { 
float: right;
  width: calc(50% - 6px);
  padding: 0 0 10px 6px;
}
     @media screen and (max-width: 767px) {
  .in2left,
  .in2right {
    float: none !important;

    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 10px 0 !important;
    margin: 0 !important;
  }

  .in2left img,
  .in2right img {
    width: 100% !important;
    height: auto !important;

  }
}


.mh-fade{
  position: relative;
  width: 100%;
}
.mh-fade::before{
  content:"";
  display:block;
  padding-top: 15%;
}
.mh-fade-item{
  position:absolute;
  inset:0;
  opacity:0;
  transition: opacity 2.2s ease;
  pointer-events:none;
}

.mh-fade-item.is-active{
  opacity:1;
  pointer-events:auto;
}

.mh-fade img{
  width:100%;
  height:auto;
  display:block;
}
.shindan-wrapper{
  padding:30px 20px;
  text-align:center;
  background:url("https://column.malulani.tv/wp-content/uploads/2026/02/shidan-bg2.jpg");
　background-position:center center;
    background-size:cover;
}
@media(max-width:768px){
.mh-fade::before{
  content:"";
  display:block;
  padding-top: 20%;
}
  .shindan-wrapper{
    padding:20px 15px 50px;

    background-position:center center;
    background-size:cover;
  }
}



/* 診断開始後（STEP2以降）＝装飾あり */
.shindan-wrapper.is-started{
  padding:30px 20px 40px;
  text-align:center;
}



.shindan-step{display:none;}
.shindan-step.active{display:block;}

.shindan-title{
  color:#8a7455;                   /* 深めブラウン */
  font-size:20px;
  margin-bottom:5px;
  letter-spacing:.05em;
}

.shindan-sub{
  font-size:14px;
  color:#6f5c4f;                   /* 上品ブラウン */
  margin-bottom:5px;
}

.shindan-q{
  font-size:18px;
  font-weight:bold;
  margin-bottom:5px;
  color:#6f5c4f;
}

.shindan-options{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:500px;   /* ここで横幅を固定 */
  margin:0 auto;     /* 親ごと中央へ */
}

.option-btn{
  width:100%;        /* 全部同じ幅にする */
  padding:15px;
  background:#fff;
  border:1px solid #d8cfb1;
  border-radius:10px;
  cursor:pointer;
  font-size:15px;
  color:#6f5c4f;
  transition:.3s;
  display:block;     /* 念のため */
}

.option-btn:hover{
  background:#64b8b6;    
  border-color:#64b8b6;
  color:#fff;
}

.shindan-btn-next,
.shindan-btn-retry{
  margin-top:30px!important;
 font-size: 18px!important;
  padding:14px 40px;
  background:#64b8b6;  
  border:1px solid #64b8b6;
  color:#fff;
  border:none;
  border-radius:25px;
  cursor:pointer;
  letter-spacing:.06em;
  transition:.3s;
}

.shindan-btn-next:hover,
.shindan-btn-retry:hover{
  background:#fff;           
  color:#64b8b6;             
}

/* RESULT */
.result-stone-name{
  font-size:24px;
  color:#8a7455;                   /* 石名はブラウン */
  margin:5px 0;
  font-weight:bold;
  letter-spacing:.05em;
}

.result-desc{
  font-size:14px;
  text-align:left;
  line-height:1.6;
  background:#fff;
  padding:10px 15px;
  border-radius:10px;
  color:#6f5c4f;
  border:1px solid #e6dfc8;
}
@media(max-width:768px){
 .result-stone-name{
  font-size:20px;
  }
  .result-desc{
  font-size:13px;
  line-height:1.4;
}
}
.result-reco-title{
  margin:10px 0 5px;
  font-size:16px;
  color:#8a7455;
  letter-spacing:.08em;
}

/* 商品横並び */
.result-products{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:5px;
}

.result-card{
  background:#fff;
  padding:5px 10px;
  border-radius:10px;
  transition:.3s;
  border:1px solid #e6dfc8;
}

.result-card:hover{
  transform:translateY(-5px);
  box-shadow:0 6px 15px rgba(0,0,0,.08);
}

.result-img{
  width:100%;
  border-radius:8px;
}

/* テキスト色をグレー寄りに（リンク下線なし想定） */
.result-product-name{
  font-size:12px;
  margin:6px 0;
  color:#6f5c4f;
}

.result-price{
  font-size:13px;
  font-weight:bold;
  color:#b5ab77;                   /* 価格はゴールド */
}

@media(max-width:640px){
  .result-products{
    grid-template-columns:repeat(2,1fr);
  }
}

	/* 診断結果 商品リンクの装飾リセット */
.result-card a{
  text-decoration: none;
  color: #666666;
  display: block;
}

/* ホバーしても下線出さない */
.result-card a:hover{
  text-decoration: none;
  color: #666666;
}

/* 商品名 */
.result-product-name{
  color: #666666;
}

/* 価格 */
.result-price{
  color: #666666;
}


.pt-10{
  padding-top: 10px;
}
.mb-10{
  margin-bottom: 10px!important;
}
.mb-20{
  margin-bottom: 20px!important;
}

.mh-birth-lead{
  margin: 6px 0 10px;
  padding: 10px 18px;
  line-height: 1.4;
  background: #fbf8ef;          
 
  border-radius: 14px;

  position: relative;
}

.mh-birth-lead:before{
  content:"◆";
  color:#b5ab77;
  margin-right:.4em;
  font-size: .9em;
}




/* SP */
@media (max-width: 768px){
  .mh-birth-lead{
    padding: 12px 14px;
  }
}


.banner-container{
  max-width:700px!important;
}
.wish-grouped{
  margin: 20px 0 30px;
}

/* グループ見出し */
.wish-group-title{
  margin: 15px 0 5px;
  font-size: 17px;
  font-weight: 700;
  color: #444;
  letter-spacing: .05em;
}
@media (max-width: 768px){
.wish-group-title{
  margin: 15px 0 5px;
  font-size: 16px;
  font-weight: 300;
  color: #444;
  letter-spacing: .05em;
}
}
/* =========================
  リストレイアウト
========================= */
.wish-list-v2{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

/* 各タイル */
.wish-item-v2{
  background-color:#fbf8ef;
  display: flex; 
  border-radius: 6px;
}

/* リンク全体 */
.wish-item-v2 a{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10px 8px 12px;
  text-decoration: none;
  /*color: #6F4B3E;*/
  color: #555;
  width: 100%;                /* ★追加 */
}

/* アイコン */
.wish-item-v2 img{
  width: 26px;
  height: auto;
  margin-bottom: 3px;
}

/* タイトル */
.wish-item-v2 strong{
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 4px;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 説明 */
.wish-item-v2 span{
  font-size: 11px;
  line-height: 1.2;
  color: #666;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* =========================
  ホバー（liにかける）
========================= */
@media (hover:hover){
  .wish-item-v2:hover{
    background: rgba(181,171,119,.08);
  }
}

/* =========================
  タブレット
========================= */
@media (min-width: 768px){
  .wish-list-v2{
    grid-template-columns: repeat(3, 1fr);
  }

  .wish-item-v2 img{
    width: 28px;
  }

  .wish-item-v2 strong{
    font-size: 14px;
  }
}

/* =========================
  PC：左アイコン / 右にタイトル＋説明
========================= */
@media (min-width: 1050px){

  .wish-item-v2 a{
    display: grid;
    grid-template-columns: 36px 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 6px;
    align-items: start;
    padding: 14px 16px;
    text-align: left;
  }

  /* アイコン */
  .wish-item-v2 img{
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 30px;
    margin: 0;
  }

  /* タイトル */
  .wish-item-v2 strong{
    grid-column: 2;
    grid-row: 1;
    font-size: 15px;
    line-height: 1;
    margin: 0;
  }

  /* 説明文：2行で止める */
  .wish-item-v2 span{
    grid-column: 2;
    grid-row: 2;
    font-size: 12px;
    line-height: 1.2;
    color: #666;
    margin: 0;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* hover */
  .wish-item-v2 a:hover{
    background: rgba(181,171,119,.08);
  }
}
/* =========================
  セクションごと 横スクロール
========================= */

/* SP&#12316;タブレット：横スクロール */
.wish-grouped .wish-list-v2{
  display: flex;                 /* grid → flex に上書き */
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 6px;           /* スクロールバー逃し */
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

/* 各カード幅を固定 */
.wish-grouped .wish-item-v2{
  flex: 0 0 150px;               /* ← 横スクロールの要 */
  scroll-snap-align: start;
}

/* スクロールバーを目立たせない */
.wish-grouped .wish-list-v2::-webkit-scrollbar{
  height: 6px;
}
.wish-grouped .wish-list-v2::-webkit-scrollbar-thumb{
  background: rgba(181,171,119,.3);
  border-radius: 10px;
}
.wish-grouped .wish-list-v2::-webkit-scrollbar-track{
  background: transparent;
}

/* =========================
  PCでは従来どおりグリッド
========================= */
@media (min-width: 1050px){
  .wish-grouped .wish-list-v2{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: visible;
  }

  .wish-grouped .wish-item-v2{
    flex: initial;
  }
}


/* 画像下の文字（benefit用） */
.mh-benefit-slider .slick-img-item p{
  margin: 2px 0 0;
  font-size: 14px;
  letter-spacing: .05em;
  color: #6F4B3E;
  text-align: center;
}

/* aの下線などを消す */
.mh-benefit-slider .slick-img-item a{
  text-decoration: none;
  color: inherit;
  display: block;
}





/* ===== お役立ち情報：レイアウト修正 ===== */
.mh-info-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  width: 100%;
  margin-top: 10px!important;
}

/* 各ボタン */
.mh-info-item{
  width: 100%;
}

.mh-info-item a{
  /* 縦書き解除（ここ重要） */
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 60px;
  padding: 12px 8px;

  text-align: center;
  white-space: normal;

  font-size: 14px;
  color: #333;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  text-decoration: none;

  box-sizing: border-box;
}

/* hover */
.mh-info-item a:hover{
  border-color: #b5ab77;
  background: #f7f6f2;
}

/* ===== スマホ：2カラム ===== */
@media (max-width: 768px){
  .mh-info-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
  }

  .mh-info-item a{
    font-size: 13px;
    min-height: 56px;
  }
}

#mh-reco .mh-reco-more{
  text-align:center;
  margin-top:32px;
}

#mh-reco .mh-reco-morebtn{
  min-width:200px;
  padding:12px 28px;
  border-radius:999px;
  border:1px solid #b5ab77;
  background:#fff;
  color:#b5ab77;
  font-size:14px;
  letter-spacing:.08em;
  cursor:pointer;
}

#mh-reco .mh-reco-morebtn:hover{
  background:#b5ab77;
  color:#fff;
}


.mb-5{
  margin-bottom: 5px!important;
}
.instagram-malu .badge::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:conic-gradient(
    #9BCDAD
  ) !important;
  opacity:.75;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--ring-w)),#000 0);
  mask:radial-gradient(farthest-side,transparent calc(100% - var(--ring-w)),#000 0);
  z-index:0;
  will-change:transform;
}
.instagram-malu .hl-list li a{ gap:4px!important; }
@media (max-width:479px){
  .instagram-malu .hl-list li a>span:last-child{ margin-top:0!important; }
}

@media (max-width: 768px){
  .instagram-malu .hl-list{
    -ms-overflow-style: none; 
    scrollbar-width: none; 
  }

  .instagram-malu .hl-list::-webkit-scrollbar{
    width: 0;
    height: 0;
    display: none;           
  }
}


/* ===== 見出し行 共通 ===== */
.mida-era{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-top: -10px!important;
  padding-bottom:4px;
  margin-bottom:20px;
}
.border-n{
  border-bottom:none!important;
}



/* h3のズレ防止 */
.mida-era h3{
  margin:0;
  line-height:1;
}


/* 右側リンク */
.mida-era .cat-more{
  white-space:nowrap;
  font-size:13px;
  text-decoration:none;
  color:inherit;
}

/* ===== 新着商品ブロック専用（下線＋余白） ===== */
.c_box.mt-m .mida-era {
  padding-bottom:4px;               
  margin-bottom: 20px;
  border-bottom:1px solid rgba(0,0,0,.18);
}

.mida-era h3{
  font-size: 23px;
}

@media (max-width: 768px){
.mida-era h3{
  font-size: 18px;
}


}


.mh-reco{ margin: 0; }

.mh-reco-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 992px){
  .mh-reco-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
}
@media (max-width: 768px){
  .mh-reco-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
    .mh-reco-grid.mh-reco-grid3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
    .mh-reco-grid.mh-reco-grid3 > li{
    padding: 0 3px 0;
  }

  .mh-reco-grid.mh-reco-grid3 .mh-reco-expl{
    font-size: 10px;
  }

  .mh-reco-grid.mh-reco-grid3 .mh-reco-name,
  .mh-reco-grid.mh-reco-grid3 .mh-reco-name-link{
    line-height: 1.2;
  }
}

.mh-reco-item{
  margin: 0;
  padding: 0 5px 0;
  box-sizing: border-box;
  border: 0.5px solid #ccc;
}

.mh-reco-link{ display:block; text-align:center; }
.mh-reco-img{ width:100%; height:auto; display:inline-block; }

/* タイトル途中で割れない＋読みやすく */
.mh-reco-name,
.mh-reco-name-link{
  line-height: 1.2;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
/* 説明ラッパーを基準にする */
.mh-reco-explwrap{
  position: relative;
}

/* 2行省略 */
.mh-reco-expl{
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;

  /* 右端に>>の置き場を作る（かぶり防止） */
  padding-right: 10px;
}

/* >> アイコンを「2行目の右下」に固定 */
.mh-reco-moreicon{
  position: absolute;
  right: 0;
  bottom: 0;                 /* ここが “2行目の右端” になる */
  width: 28px;
  height: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

/* 「>>」描画 */
.mh-reco-moreicon::before,
.mh-reco-moreicon::after{
  content:"";
  position:absolute;
  top: 50%;
  width: 6px;
  height: 6px;
  border-right: 1px solid #1f63ff;
  border-top: 1px solid #1f63ff;
  transform: translateY(-50%) rotate(45deg);
}
.mh-reco-moreicon::before{ right: 5px; }
.mh-reco-moreicon::after { right: 0; }

/* 展開時は全文表示＆>>は消す（＝“閉じない”挙動） */
.mh-reco-explwrap.is-open .mh-reco-expl{
  -webkit-line-clamp: unset;
  display: block;
  overflow: visible;
  padding-right: 0;
}
.mh-reco-explwrap.is-open .mh-reco-moreicon{
  display: none;
}

/* 2行以内なら>>不要：JSで付与 */
.mh-reco-moreicon.is-hide{ display:none; }


.mh-reco-price{
  white-space: nowrap;
  word-break: keep-all;
  font-size:12px!important;
  text-align: right;
}
.mh-reco-grid.mh-reco-grid3 .mh-reco-price{
  font-size:11px!important;
  white-space: normal;
  word-break: break-word;
}

.review-container,
.reviewWidget,
.reviewSliderWidget,
/*.starRating,*/
.reviewWidget_inner,
.reviewWidget_title_overview,
.reviewWidget_title_container,
.review-widget-summary-container {
margin: 0 !important;
  padding: 0 !important;
}
div.swiper.slick-slider.swiper-initialized.swiper-horizontal.swiper-backface-hidden{
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
.loadedReviews.swiper-wrapper.slick-track{
  margin: 0 !important;
}

.u-komi-read-more {
  /* 元の「もっと見る」テキストを透明化 */
  color: transparent !important;
  position: relative; /* ::after の位置調整のため */
}

.u-komi-read-more::after {
  /* 矢印を表示 */
  content: "\226B";
  color: #f622d18;          /* お好みの色に */
  font-size: 16px;       /* 元テキストと同じくらいの大きさに */
  line-height: normal;
  position: absolute;
  top: -5px;
  left: 0;
}

.singleReview_name{
  display: none!important;
}
.m-50margin{
  margin-top: -30px!important;
  margin-bottom: -20px;
}
.slick-img {
  display: none;
  opacity: 0;
}
.order-n{
  margin: 5px auto;
}
.concept {
  cursor: pointer;
}
#options, #storeOptions {
    display: flex;
    justify-content: space-between;
  }
  @keyframes rotate-border {
  0% {
    border-color: transparent;
  }
  25% {
    border-color: transparent blue transparent transparent;
  }
  50% {
    border-color: transparent blue gold transparent;
  }
  75% {
    border-color: blue gold grey transparent;
  }
  100% {
    border-color: blue gold grey red;
  }
}

.option-button {
  font-size: 16px;
  letter-spacing:0.04em;
  font-weight: bold;
  flex: 1;
  margin: 0 5px;
  padding: 10px;
  border: 0.5px solid #595757;
  color: #595757;
  background-color: transparent;
  cursor: pointer;
  text-align: center;
  animation: rotate-border 1s ease-in-out;
}
  .option-button:disabled {

    cursor: default;
  }
  .option-button:not(:disabled):hover {
    background-color: #b5ab77;
    color: white;
  }
.slick-img {
  width: 100%;
  padding-bottom: 20px;
  margin: 15px auto;
}
.slick-img-item {
  margin-right: 1px;
  margin-left: 1px;
}
.slick-img-item img {
  width: 100%;
  max-width: 900px;
  height: auto;
  transform: scale(.95);
  transition: transform 1s;
}
.slick-img-item.slick-center img {
 transform: scale(1);
}
@media screen and (max-width: 640px) {

  .slick-img-item img {
    width: 100%;
    transform: scale(.95);
  }
}
.dots-class button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
.dots-class {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.dots-class li {
  list-style: none;
  width: 10px;
  height: 10px;
  background-color: #fff;
  border: 1px solid #D8B400;
  border-radius: 50%;
  margin-right: 10px;
  cursor: pointer;
  transition: background-color 0.5s ease;
}

.dots-class li.slick-active {
  background-color: #D8B400;
}
.dots-class li:hover {
  background-color: #E5C300;
}
.dots-class li:last-child {
  margin-right: 0;
}


.c_box { float: left; width: 100%; box-sizing: content-box; }javascript:void(0)
 
.bold{
    font-weight:600;
  }

/* ========================================
      Lサイズの記事
======================================== */
.l_box { float: left; width: 100%; padding: 5px; box-sizing: border-box; }


/* ========================================
      Mサイズの記事
======================================== */
/* ▼表示領域が980px以上の場合 */
@media print, screen and (min-width: 980px) {
   .m_box { float: left; width: 50%; padding: 5px; box-sizing: border-box; }
   .mino_box { float: left; width: 50%; padding: 5px 2px; box-sizing: border-box; }
   .mino_box2 { float: left; width: 25%; padding: 5px 2px; box-sizing: border-box; }
   
  .mino_box22 { float: left; width: 25%; padding: 5px 2px; box-sizing: border-box; border:1px solid red;}
   .mino_box3 { float: left; width: 33.33333%; padding: 5px 2px; box-sizing: border-box; }
   .mino_box33 { float: left; width: 33.33333%; padding: 5px 2px; box-sizing: border-box; }
     .mino_box4 { float: left; width: 33.33333%; padding: 2px 2px; box-sizing: border-box; }
  .mino_box44 { float: left; width: 25%; padding: 0.5% 1% 0.3%; box-sizing: border-box; }
}
@media print, screen and (max-width: 1100px) {
  .mino_box2 { float: left; width: 33.33333%; padding: 5px 2px; box-sizing: border-box; }
  .mino_box22 { float: left; width: 50%; padding: 5px 2px; box-sizing: border-box; }
  .mino_box3 { float: left; width: 50%; padding: 5px 2px; box-sizing: border-box; }
  .mino_box33 { float: left; width: 50%; padding: 5px 2px; box-sizing: border-box; }
   .mino_box4 { float: left; width: 33.33333%; padding: 5px 2px; box-sizing: border-box; }

}
/* ▼表示領域が980px未満の場合 */
@media print, screen and (max-width: 979px) {
   .m_box { float: left; width: 100%; padding: 5px; box-sizing: border-box; }
   .mino_box { float: left; width: 50%; padding: 5px 2px; box-sizing: border-box; }
   .mino_box2 { float: left; width: 50%; padding: 5px 2px; box-sizing: border-box; }
   .mino_box22 { float: left; width: 50%; padding: 5px 2px; box-sizing: border-box; }
   .mino_box3 { float: left; width: 50%; padding: 5px 2px; box-sizing: border-box; }
 .mino_box4 { float: left; width:33.33333%; padding: 5px 2px; box-sizing: border-box; }
 .mino_box44 { float: left; width:50%; padding: 0.5% 1%; box-sizing: border-box; }
}
@media print, screen and (max-width: 767px) {
  .mino_box44 { float: left; width:50%; padding: 0 2%; box-sizing: border-box; }
}

.s_box { float: left; width: 50%; padding: 5px; box-sizing: border-box; }

@media print, screen and (min-width: 980px) {
   .s_frame { float: left; width: 50%; box-sizing: content-box; }
  
      .mt-m01{
margin-top:-7px !important;
}
        .mt-m02{
margin-top:-18px !important;
}
  
          .mt-m03{
margin-top:-28px !important;
}
            .mt-m04{
margin-top:-28px !important;
}
          .mt-8{
margin-top:10px;
}
            .mt-13{
margin-top:10px;
}
  
              .mb-10{
margin-bottom:10px !important;
}
      .mb-m02{
  margin-bottom:-19px;
  }
        .mb-m03{
  margin-bottom:-19px;
  }
}


@media print, screen and (max-width: 979px) {
   .s_frame { float: left; width: 100%; box-sizing: content-box; }
  
  .mb-m{
margin-bottom:-10px;
}
  
      .mb-m05{
margin-top:-10px;
}
  
        .mt-m01{
margin-top:8px !important;
}
        .mt-m02{
margin-top:-18px !important;
}
  
          .mt-m03{
margin-top:-36px !important;
}
  
            .mt-m04{
margin-top:-70px !important;
}
          .mt-8{
margin-top:8px;
}
            .mt-13{
margin-top:13px;
}
}


.3_box { float: left; width: 30%; padding: 2px; box-sizing: border-box; }

  .price-right{
    color: #6F4B3E;
text-align: right;
  padding-top: 0!important;
    line-height: 1.2!important;
    margin-top: 5px!important;
}
p.price-right{font-size:14px !important;}
  .price-right02{
    float:right;
text-align: right;
  padding-top: 0!important;
    line-height: 1.2!important;
}





.pb-0{
padding-bottom:0 !important;
margin-bottom:0 !important;
}

.mt-m17{

  margin-top: -20px!important;
}
.mt-m30{
float: right;
  margin-top: -30px!important;
}
.mt-m8{
padding-top:0 !important;
margin-top:-8px !important;
}

.img-60{
width:60%;
  margin-right:auto;
  margin-left:auto;
}

.col-sm-siho445 div{
padding-top:6px;
  padding-bottom:6px;
}

.c_wish div{
  background-color:#fff;
  border:1px solid #ccc;
}

.c_info div{
  background-color:#b5ab77;
}

.col-sm-siho445 div img{
width:90%;
}
.waku img{
border:1.1px solid #CCCCCC;
}
.waku img.status-label {
    border: none !important;
}
.margin0{
margin:0 !important;
}

.mt-m{
margin-top:-20px !important;
}

@media print, screen and (min-width: 980px) {
   .3_frame { float: left; width: 50%; box-sizing: content-box; }


}

@media print, screen and (max-width: 979px) {
   .3_frame { float: left; width: 100%; box-sizing: content-box; }
}


.productarea{
	font-size: 14.1px;
	color: #000000;
  padding-bottom: 10px;
	}

.productarea a{
	font-size: 14.1px;
	color: #7A6A56;
    line-height: 1.4;
	}
.productarea p{
	padding-top: 4px;
  font-size: 14.1px;
	color: #7A6A56;
    line-height: 1.4;
  padding-bottom: 0;
  margin-bottom: 0;
	}


@media print, screen and (min-width: 980px) {
.newsbox {
  overflow: auto; 
  width: 100%;
  height: 150px;
  padding: 20px;
}

.newsbox a{
  color: #7A6A56;
}
}


@media print, screen and (max-width: 979px) {
.newsbox {
  overflow: auto; 
  width: 90%;
  height: 150px;
  padding: 20px;
}

.newsbox a{
  color: #7A6A56;
}
}
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
}
::-webkit-scrollbar-thumb {
  height: 35px;
  border-radius: 5px;
  background:rgba(204, 173, 0, .3);
}

@charset "euc-jp";
#container {
  padding-top: 0px;
 margin-top: -10px !important;
}

.header-headline-nav li a {
  color: #4d4d4d;
  text-decoration: none;
  font-weight: normal;
  font-size: 13px;
}
.header-global-nav a,
.header-global-nav span {
  padding-bottom: 5px;
  color: #4d4d4d;
  text-decoration: none;
  font-weight: normal;
  font-size: 18px;
  cursor: pointer;
}
#nav a {
  color: #4d4d4d;
}

#slideshow-block {
  margin-bottom: 0px;
}
#supersized-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  margin: -30px 0 0 -30px;
  width: 60px;
  height: 60px;
  background: url(https://img.shop-pro.jp/tmpl_img/68/progress.gif) no-repeat center center;
  text-indent: -999em;
}
#supersized {
  position: absolute;
  left: 0;
  z-index: 1;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
  #supersized .row {
    position: relative;
  }
  #supersized img {
    position: absolute;
    display: none;
    width: auto !important;
    height: auto !important;
    outline: none;
    border: none;
  }
  #supersized.speed img {
    -ms-interpolation-mode:nearest-neighbor;
    image-rendering: -moz-crisp-edges;
  }
  #supersized.quality img {
    -ms-interpolation-mode:bicubic;
    image-rendering: optimizeQuality;
  }
  #supersized li {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -30;
    display: block;
    overflow: hidden;
    width: 100%;
    height: auto;
    background-color: #fff;
    list-style: none;
  }
  #supersized li.prevslide {
    z-index: -20;
  }
  #supersized li.activeslide {
    z-index: -10;
  }
  #supersized li.image-loading {
    width: 100%;
    height: 100%;
    background: #111 url(https://img.shop-pro.jp/tmpl_img/68/progress.gif) no-repeat center center;
  }
  #supersized li.image-loading img {
    visibility: hidden;
  }
  #supersized li.prevslide img,
  #supersized li.activeslide img {
    display: inline;
  }
#slide-list {
  position: absolute;
  bottom: 20px;
  margin: 0 !important;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: .85em;
  font-family: Arial;
}
  #slide-list li {
    display: inline-block;
    *zoom: 1;
    *display: inline;
  }
  #slide-list a {
    display: block;
    margin: 0 5px;
    width: 70px;
    height: 10px;
    outline: 0;
    background: #5e5e5e;
    text-indent: -9999px;
    opacity: 0.7;
    cursor: pointer;
  }
  #slide-list a:hover,
  #slide-list .current-slide a {
    background: #ecd062;
    opacity: 1;
  }
#controls-wrapper {
  position: absolute;
  left: 0;
  width: 100%;
  height: 10px;
  *z-index: 50;
}
#controls {
  position: relative;
  z-index: 50;
  height: 100%;
}

#slidecaption {
  position: absolute;
  left: 1%;
  z-index: 2;
  padding-bottom: 20px;
  color: #fff;
  font-size: 40px;
  line-height: 1.2;
}
title{
  color: #f00;
}
  #controls-wrapper.mode-static {
    position: static;
    padding: 15px 0;
    height: auto;
  }
  #controls-wrapper.mode-static #slide-list {
    position: static;
  }
@media (max-width: 768px){
  .slick-prev i,
  .slick-next i{
    font-size: 30px!important; /* 好みで調整 */
  }
  .slick-prev,
  .slick-next{
    width: 44px!important;
    height: 44px!important;
  }
  .slick-prev{ left: 0px !important; }
  .slick-next{ right: 0px !important; }
}
/* 画像上にテキストを重ねる */
.mh-benefit-slider .slick-img-item a{
  position: relative;
  display: block;
}

/* 既存のpを「画像の上の方・中央」に配置 */
.mh-benefit-slider .slick-img-item p{
  position: absolute;
  top: 14px;              /* 上からの位置（好みで） */
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
font-family:
    "Noto Serif JP",
    "Hiragino Mincho ProN",
    "Yu Mincho",
    "YuMincho",
    "MS PMincho",
    serif;
  margin: 0;
  padding: 6px;
  font-size: 14.5px;
  font-weight: 300;
  color: #6F4B3E;
  border-radius: 999px;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  text-shadow: 4px 4px 4px #fff, -4px -4px 4px #fff,
  -4px 4px 4px #fff,  4px -4px 4px #fff,
  4px 0 4px #fff, -4px  0 4px #fff,
  0 4px 4px #fff,  0 -4px 4px #fff;
}
}

/* もし画像下に余白が残るなら消す（念のため） */
.mh-benefit-slider .slick-img-item{ position: relative; }
.mh-benefit-slider .slick-img-item img{ display:block; width:100%; height:auto; }

/* スマホだけ少し大きく/位置調整 */
@media (max-width: 768px){
  .mh-benefit-slider .slick-img-item p{
    top: 10px;
    font-size: 22px;
    padding: 6px;
  }
}
@media (max-width:480px){

  /* タイトル */
  .mh-reco-grid3 .mh-reco-name{
    font-size:12px;
    line-height:1.35;
    margin:0;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .mh-reco-grid3 .mh-reco-titlebox{
    margin:6px 0 2px;
    padding:0;
  }

  /* 説明枠 */
  .mh-reco-grid3 .mh-reco-explwrap{
    margin:0 0 4px;
    padding:0;
  }

  /* 説明文 */
  .mh-reco-grid3 .mh-reco-expl{
    margin:0;
    font-size:12px;
    line-height:1.35;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  /* 価格 */
  .mh-reco-grid3 .mh-reco-price{
    margin:2px 0 0;
    font-size:12px;
    color:#3E2723;
    line-height:1.25;
  }
.mh-reco-grid3 .mh-reco-tax{
  font-size:7px;
display: inline;
  padding-left: 1px;
}
  /* 通常価格・割引は非表示 */
  .mh-reco-grid3 .mh-reco-regular,
  .mh-reco-grid3 .mh-reco-discount{
    display:none !important;
  }

}
    
/* =========================
   U-KOMI レビュー全体 余白つめ
   ========================= */
.singleReview{
  padding: 10px 10px 8px !important;
}

.singleReview_header{
  margin-bottom: 4px !important;
}

.singleReview_header_right{
  margin-bottom: 0 !important;
}

.singleReview .starRating{
  margin-bottom: 2px !important;
}

.singleReview_body{
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  line-height: 1.35 !important;
}

/* 各要素の表示順 */
.singleReview_body .ukomiProductDetailWrap{
  order: 1 !important;
}

.singleReview_body .singleReview_title{
  order: 2 !important;
}

.singleReview_body .u-komi-read-more-text{
  order: 3 !important;
}

.singleReview_body .singleReview_name{
  order: 4 !important;
}

/* =========================
   商品情報をタイトルの上に
   ========================= */
.ukomiProductDetailWrap{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
}

.ukomiProductImageWrap{
  flex: 0 0 50px !important;
  width: 100px !important;
  height: 100px !important;
  margin: 0 !important;
}

.reviewProductName{
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* ←2行制限 */
  overflow: hidden;

  line-height: 1.2 !important;
  font-size: 13px !important;
  margin: 0 !important;
}

.reviewProductName a{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* =========================
   translatedReviewContent
   細文字 + 下線
   ========================= */
.singleReview_title{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

.translatedReviewContent{
  display: inline !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  margin: 0 0 5px!important;
  padding: 0 !important;
}

/* =========================
   本文
   line-height 1.2 / 13px
   ========================= */
p.u-komi-read-more-text,
.u-komi-read-more-text{
  font-size: 12.5px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
}


.u-komi-read-more{
  display:inline !important;
  margin-left:4px;
  font-size:13px;
  white-space:nowrap;
  vertical-align:-1px;
}
/* 投稿者名 */
.singleReview_name{
  margin: 2px 0 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  font-size: 11px !important;
}

/* 画像まわり */
.ukomiProductImage{
  display: block !important;
  width: 50px !important;
  height: 50px !important;
  object-fit: cover !important;
}

/* ブロック全体の下余白も圧縮 */
.singleReview_body > *{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.ukomiProductDetailWrap{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  gap:0 !important;
}

.ukomiProductImageWrap{
  width:100% !important;
  max-width:20% !important;
  flex:0 0 20% !important;
  height:auto !important;
}

.reviewProductName{
  width:30% !important;
  max-width:30% !important;
  flex:0 0 30% !important;
  display:block !important;
  padding-left:10px !important;
  box-sizing:border-box !important;
}

.ukomiProductImage{
  width:100% !important;
  height:auto !important;
  display:block !important;
}
.singleReview_footer img[alt="Powered by U-KOMI"],
img[alt="Powered by U-KOMI"]{
  display:block !important;
  margin-top:-20px !important;
  position:relative !important;
  top:-18px !important;
}
.loadedReviews.swiper-wrapper{
  transition-duration: 2000ms !important;
}
.ukomiProductDetailWrap .reviewProductName,
.ukomiProductDetailWrap .reviewProductName a{
  color:#333 !important;
}

	
@media screen and (max-width: 767px) {
 .slick-img.slick-top.slick-slider {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  
}
.mh-section-more,
.item-title .item-name a,
.ml-final-item .ml-final-copy,
.ml-final-sub-grid .ml-final-link{
  color:#333 !important;
}
/* =========================================
   3箇所共通
   今週のベスト10
   ベストセラーピックアップ
   誕生石コレクションから選ぶ
   ========================================= */

/* -----------------
   商品名
   ----------------- */
#ranking .item-name,
#ranking .item-name a,
#mh-reco2 .mh-reco-name,
#mh-reco2 .mh-reco-name a,
#mh-reco .mh-reco-name,
#mh-reco .mh-reco-name a{
  margin: 5px 0 0 !important;
  font-size: 14px !important;
  color: #191919 !important;
  font-weight: normal !important;
  letter-spacing: -0.5px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
}

/* -----------------
   価格
   ----------------- */
#ranking .prd-lst-price,
#mh-reco2 .mh-reco-price,
#mh-reco .mh-reco-price{
  font-size: 11px !important;
  line-height: 1.2 !important;
  padding-left: 1em !important;
  color: #191919 !important;
}
#mh-reco2 .mh-reco-moreicon,
#mh-reco .mh-reco-moreicon{
  display: none !important;
}


/* -----------------
   説明文を再表示
   ----------------- */
#ranking .best10-expl,
#mh-reco2 .mh-reco-expl,
.malu-slider.malu-best10 .explain,
.best10-container .explain{
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;

  font-size: 12px !important;
  line-height: 1.3 !important;
  margin-top: 5px !important;
  color: #777 !important;
  text-align: left !important;

  position: relative !important;
  padding-right: 1em !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  max-height: calc(1.3em * 2) !important;
}



/* -----------------
   ≫ を疑似要素で追加
   ※ reco側はHTMLコメント解除されていれば有効
   ----------------- */
.malu-slider.malu-best10 .explain::after,
.best10-container .explain::after,
#mh-reco2 .mh-reco-expl::after,
#mh-reco .mh-reco-expl::after{
  content: " \226B";
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 12px !important;
  line-height: 1 !important;
  padding-left: 3px;
  color:#B68D40;
}

/* -----------------
   hover時は下線なし、少し薄く
   ----------------- */
#ranking .item-name a:hover,
#mh-reco2 .mh-reco-name a:hover,
#mh-reco .mh-reco-name a:hover{
  text-decoration: none !important;
  opacity: 0.7;
}

#ranking .prd_lst_link:hover ~ .item-title a,
#ranking .prd_lst_link:hover ~ .explain .best10-expl,
#mh-reco2 .mh-reco-item:hover .mh-reco-name a,
#mh-reco2 .mh-reco-item:hover .mh-reco-expl,
#mh-reco .mh-reco-item:hover .mh-reco-name a,
#mh-reco .mh-reco-item:hover .mh-reco-expl{
  opacity: 0.7;
  text-decoration: none !important;
}

/* 全体 */
.mh-store-wrap{
  max-width:1200px;
  margin:0 auto;
}

/* 3列 */
.mh-store-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

/* カード */
.mh-store-card{
  text-align: center;
  display:block;
  border:0.5px solid #999;
  text-decoration:none;
  color:#333;
  background:#fff;
  transition:all .3s ease;
  margin-bottom: 20px;
}

/* ホバー */
.mh-store-card:hover{
  opacity:0.85;
}

/* 画像 */
.mh-store-card img{
  width:100%;
  height:auto;
  display:block;
}

/* キャプション */
.mh-store-caption{
  padding:10px 12px;
}

/* 店舗名 */
.mh-store-name{
  font-size:13px;
  margin:0;
  letter-spacing:-0.05em;
}

.mh-store-name:before{
  content:"\25B6";
  font-size:70%;
  margin-right:4px;
}

/* 説明 */
.mh-store-ex{
  font-size:12px;
  margin:2px 0 0;
  letter-spacing:-0.05em;
}

/* 既存流用 */
.txt_spacing01{
  letter-spacing:-0.07em !important;
}
.txt_small01{
  font-size:90% !important;
}
.mt--10{
  margin-top: -10px!important;
}
/* スマホ */
@media (max-width:768px){
  .mh-store-grid{
    display: none;
  }
}

.mh-reco-titlebox .mh-reco-name{
  margin: 0;
}

.mh-reco-titlebox .mh-reco-name-link{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.35;
  max-height: calc(1.35em * 2);
  word-break: break-word;
}
.item-title .item-name{
  margin: 0 !important;
}

.item-title .item-name a{
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  line-height: 1.35 !important;
  max-height: calc(1.35em * 2) !important;
  word-break: break-word !important;
}
.malu-slider.best10-container{
  margin-bottom: -10px !important;
}

@media screen and (max-width: 767px){
  .malu-slider.best10-container{
    margin-bottom: -20px !important;
  }
}

/* =======================================================
   見出しを完全センター合わせ＆「1文字&#12316;半文字分」の余白
   ======================================================= */
.mida-era {
  justify-content: center !important;
  /* ▼ 1文字分（15px）と 半文字分（8px）の絶妙な隙間に変更！ */
  margin-top: 15px !important; 
  margin-bottom: 8px !important;
}
.mh-section-title-wrap {
  width: 100% !important;
  text-align: center !important;
}
.mh-section-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.mh-title-en, .mh-title-jp {
  display: block !important;
  text-align: center !important;
}
.mh-section-line {
  margin-right: auto !important;
  margin-left: auto !important;
}
.mh-section-more-wrap {
  text-align: center !important;
  margin-top: 0px !important; 
  margin-bottom:12px !important;
  width: 100% !important;
}

/* ▼ スマホ用も共通の文字幅感覚に統一 */
@media screen and (max-width: 767px) {
  .mida-era {
    margin-top: 15px !important;
    margin-bottom: 8px !important;
  }
}
/* この2エリアの価格だけ強制左寄せ */
#mh-reco .mh-reco-price,
#mh-reco2 .mh-reco-price{
  display: block !important;
  width: 100% !important;
  text-align: left !important;

  margin: 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;

  color: #333 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

#mh-reco .mh-reco-price *,
#mh-reco2 .mh-reco-price *{
  margin: 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
  color: #3E2723;
}

#mh-reco .mh-reco-price .price-tax,
#mh-reco2 .mh-reco-price .price-tax{
  font-size: 7px !important;
display: inline;
  padding-left: 1px;
}
.m-waku{
  display:flex;
  flex-wrap:wrap;
  margin: -5px;
}

.m-waku > div{
  box-sizing:border-box;
  width:25%;
  padding:5px;
}

.m-waku > div a{
  display:block;
  border:1.1px solid #CCCCCC;
  background:#fff;
  text-decoration:none;
  box-sizing:border-box;
}

.m-waku > div picture{
  display:block;
}

.m-waku > div img{
  display:block;
  width:100%;
  height:auto;
}

@media screen and (max-width: 767px){
  .m-waku > div{
    width:33.3333%;
  }
}
/* リード */
.price-modal-lead{
  text-align:center;
  font-size:13px;
  color:#8b796b;
  margin-bottom:16px;
  letter-spacing:0.08em;
}

/* グリッド */
.price-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

/* ボタン */
.price-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  height:56px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e5ded3;
  color:#6f4b3e;
  font-size:15px;
  font-weight:500;
  text-decoration:none;
  letter-spacing:0.05em;

  transition:all .25s ease;
}

/* hover */
.price-btn:hover{
  background:#f3efe6;
  border-color:#b5ab77;
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(0,0,0,0.1);
}

/* スマホ */
@media(max-width:768px){
  .price-list{
    grid-template-columns:repeat(2,1fr);
  }

  .price-btn{
    height:52px;
    font-size:14px;
  }
}

.hero-copy{
  margin: 12px 0 0 0;
  font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  font-size: 13px;
  color: #555;
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-align: center;
}
/* 総合評価 */
.reviewWidget_title_overview > .reviewWidget_title{
  font-size: 12px !important;
  color: #6f4b3e !important;
}

/* 4.85 */
.reviewWidget_title_overview .reviewNumber strong{
  font-size: 18px!important;
  color: #6f4b3e!important;
  font-weight: 700!important;
}

/* 2,295件 */
.reviewWidget_title_stars > .reviewNumber{
  font-size: 16px!important;
  color: #6f4b3e!important;
}
#campaign a{
  position:relative;
  display:block;
}

#campaign .campaign-label{
  position:absolute;
  top:3px;
  left:3px;
  z-index:10;
}
#small a{
  position:relative;
  display:block;
}

#small .campaign-label{
  position:absolute;
  top:3px;
  left:3px;
  z-index:10;
}
/* ===== 本体 ===== */
.hero-swiper {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-bottom: 30px;
}

/* ===== 親のpadding対策（これが重要） ===== */
.hero-swiper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ===== スライド ===== */
.hero-swiper .swiper-slide {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* ===== 画像 ===== */
.hero-swiper picture,
.hero-swiper a {
  display: block;
  width: 100%;
}

.hero-swiper .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}

/* ===== ページネーション ===== */
.swiper-pagination-bullet {
  width: 25px !important;
  height: 3px !important;
  border-radius: 2px !important;
  background-color: #D8B400 !important;
  opacity: 0.3 !important;
  margin: 0 4px !important;
}

.swiper-pagination-bullet-active {
  opacity: 1 !important;
}

/* ===== 特典テキスト ===== */
.benefit-txt {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  padding: 6px 12px;
  font-size: 14.5px;
  color: #6F4B3E;
  border-radius: 999px;
  background: rgba(255,255,255,0.7);
  white-space: nowrap;
}

/* ===== スマホ ===== */
@media (max-width: 768px) {
  .benefit-txt {
    top: 10px;
    font-size: 16px;
  }

}

/* ===== ヒーローバナーのレイアウト修正 ===== */

/* スマホ：画面いっぱいに広げる（サイドバーがないためOK） */
@media screen and (max-width: 768px) {
    .hero-swiper {
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        width: 100vw !important;
        max-width: 100vw !important;
    }
}

/* PC：サイドバーがある場合は、コンテンツエリア内での最大幅にする */
@media screen and (min-width: 769px) {
    .hero-swiper {
        /* コンテンツエリアの枠に合わせるため、全画面化のcalcを解除 */
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        
        /* もしコンテンツエリア内で少しだけはみ出させたい場合は、
           ここを -10px などの固定値にすると綺麗です */
    }
    
    /* バナーが大きすぎてサイドバーが下に落ちるのを防ぐ */
    .main-contents {
        display: block;
        overflow: visible;
    }
}

/* 共通：画像が枠からはみ出さないように */
.hero-swiper .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .full-bleed-banner {
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        width: 100vw !important;
        max-width: 100vw !important;
        padding: 0 !important;
    }
    /* ★お客様の最強アイデア！上下にだけ上品な茶色ラインを引いて引き締める！★ */
    .full-bleed-banner img.sp_visible {
        border-top: 1px solid #8b7355 !important;
        border-bottom: 1px solid #8b7355 !important;
        border-left: none !important;
        border-right: none !important;
    }
}


  @media screen and (min-width: 768px) {
    #campaign {
      scroll-margin-top: 80px;
    }
  }

  @media screen and (max-width: 767px) {
    #campaign {
      scroll-margin-top: 35px;
    }
    

    .mh-title-jp {
      font-size: 18px !important; 
    }
  }

  .mh-title-jp {
    color: #7A685A !important;
    letter-spacing: 0.08em !important; 
  }

.brand-concept-wrap {
  padding: 15px 10px 0px !important; 
  text-align: center !important;
  background-color: #fff !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.brand-concept-inner {
  display: inline-block !important;
  text-align: center !important;
 font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 400 !important;
  color: #6F4B3E !important;
  letter-spacing: 0.05em !important;
}

/* ★パソコン専用（絶対に2行にする設定）★ */
.sp-br { display: none !important; } /* パソコンでは改行を無効化 */
.pc-space { display: inline !important; } /* 繋がった時に少し隙間をあける */
.brand-concept-inner p {
  margin: 0 0 10px 0 !important; /* 上下の行の間隔 */
  font-size: 14px !important;
  line-height: 2.2 !important;
}
.brand-concept-inner p:last-child { margin-bottom: 0 !important; }

/* ★スマホ専用（絶対に4行にする設定）★ */
@media screen and (max-width: 768px) {
  .brand-concept-wrap { 
    /* ★スマホの下の隙間（20px）も「0px」に削りました！★ */
    padding: 10px 5px 0px !important; 
  }
  .brand-concept-inner { width: 100% !important; }
  .sp-br { display: block !important; content: ""; } /* スマホの時だけ改行を有効化 */
  .pc-space { display: none !important; }
  .brand-concept-inner p {
    font-size: 13px !important; 
    line-height: 2.2 !important;
    margin: 0 !important; 
    letter-spacing: 0 !important; 
  }
}


.price-rs,
.mh-reco-price,
.prd-lst-price,
.item-price{
  text-align: left !important;
  color: #333 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  display: block !important;
  letter-spacing: 0 !important;
  word-break: normal !important;
}

.price-main{
  font-size: 12px !important;
  color: #3E2723 !important;
  font-weight: 400 !important;
  display: inline !important;
}

.price-tax{
  font-size: 7px !important;
display: inline-block;
  display: inline !important;
  padding-left: 1px !important;
  margin-left: 0 !important;
  letter-spacing: 0 !important;
  vertical-align: baseline !important;
}

.price-tail{
  font-size: 12px !important;
  color: #333 !important;
  display: inline !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  letter-spacing: 0 !important;
}
</style>