:root{
  --inibo-primary:#6b3a77;
  --inibo-primary2:#4e2459;
  --inibo-accent:#18b7c8;     /* チラシの水色系 */
  --inibo-pink:#e56aa0;
  --inibo-text:#2b2b2b;
  --inibo-muted:#6f6f6f;
  --inibo-bg:#ffffff;
  --inibo-line:#e9e7ee;
  --inibo-shadow:0 10px 28px rgba(0,0,0,.08);
  --inibo-radius:16px;
}

/* 外枠：ページ側の紫帯に合わせる */
.iniboFlyer{ background:var(--inibo-bg); color:var(--inibo-text); }
.iniboFlyer__divider{
  height:10px;
  background:linear-gradient(90deg, var(--inibo-primary), #8a4b99, var(--inibo-primary));
}
.iniboFlyer__inner{
  max-width:1100px;
  margin:0 auto;
  padding:28px 16px 40px;
}

/* =======================
  HERO（整理版）
  左：説明＋対象部位（横並び）
  右：画像
======================= */
.iniboHero{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:18px;
  align-items:stretch;
  background:linear-gradient(180deg, rgba(24,183,200,.10), rgba(229,106,160,.06));
  border:1px solid var(--inibo-line);
  border-radius:var(--inibo-radius);
  overflow:hidden;
}

.iniboHero__left{
  padding:18px 18px 20px;
}

.iniboHero__leadTop{
  font-size:14px;
  line-height:1.9;
  color:var(--inibo-text);
  font-weight:700;
}

.iniboHero__brand{
  margin-top:12px;
  display:flex;
  align-items:flex-end;
  gap:10px;
}

.iniboHero__brandMain{
  font-size:54px;
  font-weight:900;
  letter-spacing:.02em;
  color:#1bb3c5;
  text-shadow: 0 2px 0 rgba(255,255,255,.7);
  line-height:1;
}

.iniboHero__brandSub{
  font-size:20px;
  font-weight:900;
  color:#1bb3c5;
  line-height:1.1;
}

.iniboHero__leadBottom{
  margin-top:10px;
  font-size:13px;
  line-height:1.9;
  color:var(--inibo-muted);
  font-weight:700;
}

/* 対象部位（説明文の下に横並び） */
.iniboHero__areas{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-start;
}

.iniboHero__area{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 14px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  color:#fff;
  white-space:nowrap;
  box-shadow:0 10px 20px rgba(0,0,0,.10);
  border:1px solid rgba(255,255,255,.35);
}
.iniboHero__area--gold{
  background:linear-gradient(180deg, #caa33e, #9b7a20);
}
.iniboHero__area--pink{
  background:linear-gradient(180deg, #f08ab6, #d65a94);
}

/* 右：画像枠（切れない優先でcontain） */
.iniboHero__right{
  padding:14px;
  box-sizing:border-box;
  background:linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,.0));
  border-left:1px solid rgba(255,255,255,.6);
  display:flex;
  align-items:center;
  justify-content:center;
}

.iniboHero__model{
  width:100%;
  height:auto;
  max-height:360px;
  object-fit:contain; /* 切れない優先 */
  object-position:center;
  display:block;
  border-radius:10px;
}

/* =======================
  中段：特徴1＋製剤
======================= */
.iniboMid{ margin-top:18px; }
.iniboMid__row{
  display:grid;
  grid-template-columns: 1.35fr .65fr;
  gap:14px;
  align-items:stretch;
}

/* 左：特徴ボックス */
.iniboBox{
  background:#fff;
  border:1px solid var(--inibo-line);
  border-radius:var(--inibo-radius);
  box-shadow:var(--inibo-shadow);
  overflow:hidden;
}
.iniboBox__head{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px;
  background:linear-gradient(90deg, rgba(24,183,200,.14), rgba(229,106,160,.10));
  border-bottom:1px solid var(--inibo-line);
}
.iniboBox__badge{
  width:64px;
  height:64px;
  object-fit:contain;
  flex:0 0 auto;
}
.iniboBox__title{
  font-weight:900;
  color:var(--inibo-primary2);
  font-size:15px;
  line-height:1.5;
}
.iniboBox__body{ padding:14px; }
.iniboBox__text{
  font-size:13px;
  line-height:1.95;
  color:var(--inibo-text);
  font-weight:700;
}

/* 比較3枚 */
.iniboCompare{
  margin-top:12px;
  display: flex;
  gap: 5px;
}
.iniboCompare__img{
  width:25%;
  height:auto;
  display:block;
  border:1px solid var(--inibo-line);
  background:#fff;
}

/* 小バイアル */
.iniboMini{
  margin-top:12px;
  display:flex;
  gap:8px;
  align-items:center;
  color:var(--inibo-muted);
  font-size:12px;
}
.iniboMini__img{
  width:46px;
  height:auto;
  display:block;
  object-fit:contain;
}
.iniboMini__txt{ font-weight:700; }

/* 右：製剤ブロック */
.iniboProduct{
  background:#fff;
  border:1px solid var(--inibo-line);
  border-radius:var(--inibo-radius);
  box-shadow:var(--inibo-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content: flex-start;
}
.iniboProduct__imgWrap{
  padding:14px;
  display:grid;
  place-items:center;
}
.iniboProduct__img{
  width:70%;
  max-width:260px;
  height:auto;
  object-fit:contain;
  display:block;
}
.iniboProduct__copy{
  padding:14px;
  border-top:1px solid var(--inibo-line);
  background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,0));
}
.iniboProduct__copyMain{
  font-size:18px;
  font-weight:950;
  color:var(--inibo-text);
  line-height:1.35;
}
.iniboProduct__copySub{
  margin-top:6px;
  font-size:13px;
  font-weight:900;
  color:var(--inibo-muted);
}
.iniboProduct__copyNote{
  margin-top:6px;
  font-size:12px;
  color:var(--inibo-muted);
}

/* =======================
  特徴2（青枠ブロック）
======================= */
.iniboFeature2{
  margin-top:14px;
  border:1px solid rgba(24,183,200,.45);
  border-radius:var(--inibo-radius);
  background:rgba(24,183,200,.08);
  overflow:hidden;
}
.iniboFeature2__head{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px;
  background:rgba(24,183,200,.10);
  border-bottom:1px solid rgba(24,183,200,.25);
}
.iniboFeature2__badge{
  width:64px;
  height:64px;
  object-fit:contain;
  flex:0 0 auto;
}
.iniboFeature2__title{
  font-weight:950;
  color:var(--inibo-primary2);
  font-size:16px;
  line-height:1.5;
}
.iniboFeature2__body{
  padding:14px;
  display:grid;
  gap:14px;
  align-items:start;
}
.iniboFeature2__text{
  font-size:13px;
  line-height:1.95;
  color:var(--inibo-text);
  font-weight:700;
}
.iniboFeature2__media{
  background:#fff;
  border:1px solid var(--inibo-line);
  border-radius:14px;
  padding:10px;
}
.iniboFeature2__img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
  object-fit:cover;
}

/* =======================
  料金：3ボックス
======================= */
.iniboPriceFlyer{ margin-top:18px; }
.iniboPriceFlyer__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}

.priceFlyerCard{
  background:#fff;
  border:1px solid var(--inibo-line);
  border-radius:var(--inibo-radius);
  box-shadow:var(--inibo-shadow);
  overflow:hidden;
}
.priceFlyerCard__bar{
  padding:12px 14px;
  font-weight:950;
  color:#fff;
  background:linear-gradient(90deg, #d55a93, #8a4b99);
  line-height:1.4;
  font-size:14px;
}
.priceFlyerCard__barSub{
  font-weight:800;
  font-size:12px;
  opacity:.95;
  margin-left:6px;
}
.priceFlyerCard__body{ padding:14px; }
.priceFlyerCard__desc{
  font-size:12px;
  color:var(--inibo-muted);
  font-weight:800;
  line-height:1.6;
  margin-bottom:10px;
}

.priceFlyerCard__row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--inibo-line);
  border-radius:12px;
  background:#fff;
  margin-bottom:8px;
}
.priceFlyerCard__label{
  font-size:13px;
  font-weight:900;
}
.priceFlyerCard__price{
  text-align:right;
  font-size:16px;
  font-weight:950;
  color:var(--inibo-primary2);
}
.priceFlyerCard__tax{
  font-size:12px;
  color:var(--inibo-muted);
  font-weight:800;
}

.priceFlyerCard__opt{ margin-top:12px; }
.priceFlyerCard__optTitle{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(229,106,160,.12);
  border:1px solid rgba(229,106,160,.18);
  color:#b12f6b;
  font-weight:950;
  font-size:12px;
}
.priceFlyerCard__optList{
  margin:10px 0 0;
  padding-left:1.1em;
  color:var(--inibo-muted);
  font-size:12px;
  line-height:1.75;
  font-weight:700;
}

.priceFlyerCard__hero{
  display:grid;
  gap:10px;
}
.priceFlyerCard__heroPrice{
  text-align:center;
  padding:12px;
  border-radius:14px;
  background:rgba(24,183,200,.08);
  border:1px solid rgba(24,183,200,.25);
  font-size:20px;
  font-weight:950;
  color:var(--inibo-primary2);
}
.priceFlyerCard__thumb{
  width:100%;
  height:auto;
  display:block;
  border-radius:14px;
  border:1px solid var(--inibo-line);
  object-fit:cover;
  background:#fff;
}
.priceFlyerCard__thumb--wide{
  margin-top:10px;
}

/* =======================
  下部説明
======================= */
.iniboBottomNote{
  margin-top:16px;
  border:1px solid var(--inibo-line);
  border-radius:var(--inibo-radius);
  background:#fff;
  padding:14px;
}
.iniboBottomNote__text{
  font-size:13px;
  line-height:1.95;
  color:var(--inibo-text);
  font-weight:700;
}

/* =======================
  1024以下
======================= */
@media (max-width:1024px){
  .iniboFlyer__inner{ padding:24px 14px 34px; }
  .iniboHero{ grid-template-columns:1fr; }
  .iniboHero__right{
    border-left:none;
    border-top:1px solid rgba(255,255,255,.7);
  }
  .iniboMid__row{ grid-template-columns:1fr; }
  .iniboCompare{ grid-template-columns:1fr; }
  .iniboFeature2__body{ grid-template-columns:1fr; }
  .iniboPriceFlyer__grid{ grid-template-columns:1fr; }
}

/* =======================
  599以下
======================= */
@media (max-width:599px){
  .iniboHero__brandMain{ font-size:44px; }
  .iniboHero__brandSub{ font-size:18px; }
  .iniboHero__leadTop, .iniboHero__leadBottom{ font-size:13px; }
  .iniboHero__area{ height:32px; padding:0 12px; font-size:12px; }
  .iniboBox__badge, .iniboFeature2__badge{ width:56px; height:56px; }
  .priceFlyerCard__row{ flex-direction:column; align-items:flex-start; }
  .priceFlyerCard__price{ text-align:left; }
}

.priceFlyerCard__optList li:not(:last-of-type){
  margin-bottom: 10px;
}

/* しわ治療ページ */

/* =========================
   INIBO 特徴ブロック
========================= */
.inibo-features{
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.inibo-feature-card{
  border: 1px solid #b78fb7;
  background: #fff;
  padding: 16px 16px 14px;
}

.inibo-feature-head{
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.inibo-feature-badge{
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
}

.inibo-feature-badge img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.inibo-feature-title{
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  color: #333;
  margin: 0;
}

.inibo-feature-body{
  display: grid;
  gap: 12px;
}

.inibo-feature-text{
  font-size: 13px;
  line-height: 1.9;
  color: #333;
}

.inibo-compare{
  border-top: 1px dashed #d7b7d7;
  padding-top: 12px;
}

.inibo-compare-title{
  font-size: 12px;
  font-weight: 700;
  color: #7a4b7a;
  margin-bottom: 10px;
}

.inibo-compare-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  align-items: start;
}

.inibo-compare-item{
  border: 1px solid #ead7ea;
  padding: 6px;
  background: #fff;
}

.inibo-compare-item img{
  width: 100%;
  height: 140px; /* 高さ統一 */
  object-fit: contain;
  display: block;
}

.inibo-compare-legend{
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  font-size: 12px;
  color: #444;
}

.inibo-compare-legend .dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
  margin-right: 6px;
  vertical-align: middle;
  border: 1px solid rgba(0,0,0,.08);
}
.inibo-compare-legend .dot--t{ background: #57c45a; }
.inibo-compare-legend .dot--s{ background: #f4c84d; }
.inibo-compare-legend .dot--g{ background: #e15555; }

/* 特徴2：画像＋本文の2カラム */
.inibo-feature-body--hasmedia{
  grid-template-columns: 150px 1fr;
  align-items: start;
}

/* 製剤画像ブロック */
.inibo-product{
  border: 1px solid #ead7ea;
  padding: 10px;
  background: #fff;
}

.inibo-product-img img{
  width: 100%;
  height: 160px; /* 高さ統一 */
  object-fit: contain;
  display: block;
}

.inibo-product-cap{
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #7a4b7a;
  text-align: center;
}

/* =========================
   Breakpoints
   1024以下 / 599以下
========================= */
@media (max-width: 1024px){
  .inibo-features{
    grid-template-columns: 1fr;
  }

  .inibo-feature-body--hasmedia{
    grid-template-columns: 170px 1fr;
  }

  .inibo-compare-item img{
    height: 160px;
  }
}

@media (max-width: 599px){
  .inibo-feature-card{
    padding: 14px 12px 12px;
  }

  .inibo-feature-head{
    grid-template-columns: 54px 1fr;
    gap: 10px;
  }

  .inibo-feature-badge{
    width: 54px;
    height: 54px;
  }

  .inibo-feature-title{
    font-size: 13px;
  }

  .inibo-feature-text{
    font-size: 12.5px;
    line-height: 1.85;
  }

  .inibo-feature-body--hasmedia{
    grid-template-columns: 1fr;
  }

  .inibo-product-img img{
    height: 180px;
  }

  .inibo-compare-grid{
    grid-template-columns: 1fr;
  }

  .inibo-compare-item img{
    height: 190px;
  }

  .inibo-compare-legend{
    font-size: 11.5px;
  }
}

/* =========================================
  INIBO（縦長・不自然の解消 / 1024・599対応）
========================================= */

/* 右カラムが下揃えで引っ張られるのを止める */
.inibo-wrap .inibo-flex{ align-items: flex-start; }
.inibo-wrap .inibo-right{ align-self: flex-start; }

/* 文章〜特徴〜料金の間延びを抑える */
.inibo-wrap .inibo-intro{ margin-bottom: 14px; }
.inibo-wrap .inibo-price.mt50{ margin-top: 22px; } /* mt50を詰める */
.inibo-wrap .inibo-more{ margin-top: 14px; }

/* 特徴ブロック：縦積みで自然に */
.inibo-features2{
  margin-top: 14px;
  display: grid;
  gap: 14px;
}

/* カード */
.inibo-card{
  border: 1px solid #b78fb7;
  background: #fff;
  padding: 14px 14px 12px;
}

/* 見出し（バッジ＋タイトル） */
.inibo-card-head{
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.inibo-badge{
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
}

.inibo-badge img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.inibo-head-sub{
  font-size: 11px;
  font-weight: 700;
  color: #7a4b7a;
  letter-spacing: .02em;
  margin-bottom: 3px;
}

.inibo-head-title{
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  font-weight: 700;
  color: #333;
}

/* 本文 */
.inibo-desc{
  font-size: 12.8px;
  line-height: 1.8;
  color: #333;
}

/* 比較ブロック */
.inibo-media{
  margin-top: 10px;
  border-top: 1px dashed #d7b7d7;
  padding-top: 10px;
}

.inibo-media-title{
  font-size: 12px;
  font-weight: 700;
  color: #7a4b7a;
  margin-bottom: 8px;
}

/* 比較画像：縦長の原因を潰す（高さ固定） */
.inibo-compare-grid2{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.inibo-compare-item2{
  border: 1px solid #ead7ea;
  background: #fff;
  padding: 6px;
}

.inibo-compare-item2 img{
  width: 100%;
  height: 100px;
  object-fit: contain;
  display: block;
}

/* 凡例 */
.inibo-legend2{
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  font-size: 11.5px;
  color: #444;
}

.dot2{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
  margin-right: 6px;
  vertical-align: middle;
  border: 1px solid rgba(0,0,0,.08);
}
.dot2--t{ background: #57c45a; }
.dot2--s{ background: #f4c84d; }
.dot2--g{ background: #e15555; }

/* 特徴2：製剤画像＋本文（PCは横並びで自然に） */
.inibo-card-body--product{
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 12px;
  align-items: start;
}

.inibo-product2{
  border: 1px solid #ead7ea;
  background: #fff;
  padding: 8px;
}

.inibo-product2-img img{
  width: 100%;
  height: 130px;
  object-fit: contain;
  display: block;
}

.inibo-product2-cap{
  margin-top: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: #7a4b7a;
  text-align: center;
}

/* =========================
  1024以下（TB）
========================= */
@media (max-width: 1024px){
  /* 左右レイアウトは維持しつつ、画像の暴れを抑える */
  .inibo-compare-item2 img{ height: 115px; }
  .inibo-card-body--product{ grid-template-columns: 160px 1fr; }
}

/* =========================
  599以下（SP）
========================= */
@media (max-width: 599px){
  /* 全体を縦積み：SPで最も自然 */
  .inibo-wrap .inibo-flex{
    flex-direction: column;
    gap: 14px;
  }
  .inibo-wrap .inibo-left,
  .inibo-wrap .inibo-right{
    width: 100%;
  }

  .inibo-card{ padding: 12px 12px 10px; }

  .inibo-card-head{
    grid-template-columns: 52px 1fr;
    gap: 10px;
  }
  .inibo-badge{ width: 52px; height: 52px; }

  .inibo-head-title{ font-size: 13px; }
  .inibo-desc{ font-size: 12.5px; line-height: 1.85; }

  /* 比較は2列にして、縦に伸びない＆見やすい */
  .inibo-compare-grid2{
    grid-template-columns: 1fr 1fr;
  }
  .inibo-compare-item2 img{ height: 120px; }

  /* 製剤は縦積みにして自然に */
  .inibo-card-body--product{
    grid-template-columns: 1fr;
  }
  .inibo-product2-img img{ height: 160px; }

  /* 料金の余白を詰める */
  .inibo-wrap .inibo-price.mt50{ margin-top: 18px; }
}

/* =========================================
  INIBO：縦長回避（特徴ブロックを横幅いっぱい）
  Breakpoints：1024 / 599
========================================= */

/* 上段：右のselfendがあっても上揃えで固定 */
.inibo-wrap .inibo-top{ align-items: flex-start; }
.inibo-wrap .inibo-right{ align-self: flex-start; }

/* 中段：枠内いっぱいに展開（borderbox内の余白を活かして“広く見せる”） */
.inibo-wide{
  margin-top: 18px;
}

/* 2カードを横並び（=縦を伸ばさない） */
.inibo-features-wide{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* カード共通 */
.inibo-card{
  border: 1px solid #b78fb7;
  background: #fff;
  padding: 14px 14px 12px;
}

/* 見出し */
.inibo-card-head{
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.inibo-badge{
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
}
.inibo-badge img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.inibo-head-sub{
  font-size: 11px;
  font-weight: 700;
  color: #7a4b7a;
  letter-spacing: .02em;
  margin-bottom: 3px;
}
.inibo-head-title{
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  font-weight: 700;
  color: #333;
}

/* 本文 */
.inibo-desc{
  font-size: 12.8px;
  line-height: 1.8;
  color: #333;
}

/* 比較 */
.inibo-media{
  margin-top: 10px;
  border-top: 1px dashed #d7b7d7;
  padding-top: 10px;
}
.inibo-media-title{
  font-size: 12px;
  font-weight: 700;
  color: #7a4b7a;
  margin-bottom: 8px;
}

/* 比較図は“高さ固定”で縦長阻止 */
.inibo-compare-grid3{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.inibo-compare-item3{
  border: 1px solid #ead7ea;
  background: #fff;
  padding: 6px;
}
.inibo-compare-item3 img{
  width: 100%;
  height: 92px;
  object-fit: contain;
  display: block;
}

/* 凡例 */
.inibo-legend{
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  font-size: 11.5px;
  color: #444;
}
.inibo-legend .dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
  margin-right: 6px;
  vertical-align: middle;
  border: 1px solid rgba(0,0,0,.08);
}
.inibo-legend .dot--t{ background: #57c45a; }
.inibo-legend .dot--s{ background: #f4c84d; }
.inibo-legend .dot--g{ background: #e15555; }

/* 特徴2：製剤（横並びで“高さを抑える”） */
.inibo-card-body--product-wide{
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 12px;
  align-items: start;
}

.inibo-product{
  border: 1px solid #ead7ea;
  background: #fff;
  padding: 8px;
}

.inibo-product-img img{
  width: 100%;
  height: 120px;
  object-fit: contain;
  display: block;
}

.inibo-product-cap{
  margin-top: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: #7a4b7a;
  text-align: center;
}

/* 料金の上の余白を詰める（縦長阻止） */
.inibo-wrap .inibo-price.mt50{ margin-top: 22px; }
.inibo-wrap .inibo-more{ margin-top: 14px; }

/* =========================
  1024以下
========================= */
@media (max-width: 1024px){
  /* 2列は維持（縦長を避けたいので） */
  .inibo-features-wide{
    gap: 12px;
  }
  .inibo-compare-item3 img{ height: 105px; }
  .inibo-card-body--product-wide{ grid-template-columns: 170px 1fr; }
}

/* =========================
  599以下
========================= */
@media (max-width: 599px){
  /* SPは上段を縦積み */
  .inibo-wrap .inibo-top{
    flex-direction: column;
    gap: 14px;
  }

  /* 特徴はSPでは1列（ただし“高さ固定”で縦長を抑える） */
  .inibo-features-wide{
    grid-template-columns: 1fr;
  }

  .inibo-compare-grid3{
    grid-template-columns:1fr -1fr;
  }
  .inibo-compare-item3 img{ height: 120px; }

  .inibo-card-body--product-wide{
    grid-template-columns: 1fr;
  }
  .inibo-product-img img{ height: 160px; }

  .inibo-wrap .inibo-price.mt50{ margin-top: 18px; }
}

.inibo-card-body--product-wide.d-block{
  display: block;
}

.inibo-product-img.w50per{
  width: 50%;
}

.inibo-product-img.mx-auto{
  margin-right: auto;
  margin-left: auto;
}
/* =========================================
  追加：比較の注記（テキスト版）
========================================= */
.inibo-compareNoteText{
  margin-top: 14px;
  padding: 16px 16px 14px;
  background: #cfeef0; /* 画像の水色を意識 */
  border-radius: 18px;
  position: relative;
  overflow: hidden;
}

/* 右に“吹き出しのしっぽ” */
.inibo-compareNoteText::after{
  content: "";
  position: absolute;
  right: -14px;
  top: 46%;
  width: 0;
  height: 0;
  border-left: 18px solid #cfeef0;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
}

.inibo-compareNoteText__row{
  display: grid;
  gap: 10px;
}

.inibo-compareNoteText__lead{
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #222;
}

.inibo-compareNoteText__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #111;
  display: inline-block;
}

.inibo-compareNoteText__badge{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  letter-spacing: .02em;
}

.inibo-compareNoteText__item{
  font-weight: 700;
  color: #222;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  align-items: center;
}

.inibo-compareNoteText__label{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  padding: 0 10px;
  border-radius: 4px;
  background: #9a9a9a;
  color: #fff;
  font-size: 13px;
  letter-spacing: .02em;
  white-space: nowrap;
}

.inibo-compareNoteText__label--inibo{
  background: #22b3bd;
}

.inibo-compareNoteText__sep{
  margin: 12px 0;
  border-top: 2px dashed rgba(0,0,0,.28);
}

/* 1024以下 */
@media (max-width: 1024px){
  .inibo-compareNoteText__item{
    grid-template-columns: 130px 1fr;
  }
}

/* 599以下 */
@media (max-width: 599px){
  .inibo-compareNoteText{
    padding: 14px 14px 12px;
    border-radius: 16px;
  }
  .inibo-compareNoteText::after{
    display: none; /* SPはしっぽ無しの方が破綻しにくい */
  }
  .inibo-compareNoteText__item{
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .inibo-compareNoteText__label{
    width: fit-content;
  }
}

/* =========================================
  比較の注記（小さめ・補足表示）
  ※既存HTMLはそのまま / 既存CSSを上書き
========================================= */
.inibo-compareNoteText{
  margin: 10px auto 0;
  padding: 10px 12px 10px;
  width: 100%;
  max-width: 420px;          /* ←小さくする 핵 */
  background: #cfeef0;
  border-radius: 14px;
}

.inibo-compareNoteText::after{
  right: -10px;
  top: 44%;
  border-left-width: 14px;   /* しっぽも小さく */
  border-top-width: 10px;
  border-bottom-width: 10px;
}

.inibo-compareNoteText__row{ gap: 8px; }

.inibo-compareNoteText__lead{
  font-size: 12px;
  gap: 6px;
}

.inibo-compareNoteText__dot{
  width: 8px;
  height: 8px;
}

.inibo-compareNoteText__badge{
  width: 26px;
  height: 26px;
  font-size: 12px;
}

.inibo-compareNoteText__item{
  font-size: 12px;
  grid-template-columns: 96px 1fr; /* ラベル幅を縮小 */
  gap: 8px;
}

.inibo-compareNoteText__label{
  height: 26px;
  padding: 0 8px;
  font-size: 10px;
}

.inibo-compareNoteText__sep{
  margin: 10px 0;
  border-top-width: 1px;
}

/* 1024以下：少しだけ広げる（読みやすさ優先） */
@media (max-width: 1024px){
  .inibo-compareNoteText{ max-width: 460px; }
}

/* 599以下：しっぽ無し + さらに詰める */
@media (max-width: 599px){
  .inibo-compareNoteText{
    max-width: 100%;
    padding: 10px 10px 9px;
    border-radius: 12px;
  }
  .inibo-compareNoteText::after{ display:none; }
  .inibo-compareNoteText__item{
    grid-template-columns: 1fr; /* SPは縦並びでコンパクト */
    gap: 5px;
  }
  .inibo-compareNoteText__label{
    width: fit-content;
  }
}

/* ===== オプションメニュー（チラシ寄せ） ===== */
.ab-optionMenu{
  position: relative;
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 14px 14px 10px;
    background: #f4e4f5;
    border: 1px solid #89598b;
    border-radius: 10px;
}

/* 左の丸ラベル */
.ab-optionMenu__badge{
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  background: #98639b;
  box-shadow: 0 6px 14px rgba(0,0,0,.08);
}
.ab-optionMenu__badgeTxt{
  color: #fff;
  font-weight: 800;
  font-size: 13px;
  line-height: 1.15;
  letter-spacing: .02em;
  text-align: center;
}

/* 右側のリスト */
.ab-optionMenu__list{
  list-style: none;
  margin: 0;
  padding: 0;
}
.ab-optionMenu__item{
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 6px 0;
  color: #6a3a44;
  font-size: 13px;
  line-height: 1.7;
}

/* 左の「・」 */
.ab-optionMenu__item::before{
  content: "●";
  font-size: 10px;
  color: #98639b;
  transform: translateY(-1px);
}

/* 点線リーダー */
.ab-optionMenu__name{
  white-space: nowrap;
  font-weight: 700;
}
.ab-optionMenu__item::after{
  content: "";
  flex: 1;
  border-bottom: 2px dotted #f3a9ba;
  transform: translateY(-2px);
  opacity: .9;
}

.ab-optionMenu__price{
  white-space: nowrap;
  font-weight: 700;
}

/* 1024以下：そのままでOK（崩れにくい） */

/* 599以下：縦積み＋点線は省略（スマホで読みやすく） */
@media (max-width: 599px){
  .ab-optionMenu{
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }
  .ab-optionMenu__badge{
    width: 88px;
    height: 88px;
    margin: 0 auto;
  }

  .ab-optionMenu__item{
    flex-wrap: wrap;
  }
  .ab-optionMenu__item::after{
    display: none; /* 点線はスマホだと詰まるのでOFF */
  }
  .ab-optionMenu__name,
  .ab-optionMenu__price{
    white-space: normal;
  }
}

/* ===== INIBO 特徴バッジ（画像なし） ===== */
.inibo-badge2 {
    width: 60px;
    aspect-ratio: 1 / 1;
    border-radius: 999px;
    position: relative;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    place-items: center;
    text-align: center;
    line-height: normal;
    background: radial-gradient(120% 120% at 30% 25%, #fff2bf 0%, rgba(255, 242, 191, .35) 35%, rgba(255, 242, 191, 0) 60%), radial-gradient(120% 120% at 70% 75%, rgba(255, 255, 255, .15) 0%, rgba(255, 255, 255, 0) 55%), linear-gradient(135deg, #f7e09a 0%, #e0ba59 38%, #d3a044 70%, #f2d48a 100%);
    border: 1px solid rgba(255, 255, 255, .55);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18), 0 0 0 3px rgba(191, 145, 35, .35) inset, 0 0 0 1px rgba(255, 255, 255, .35) inset;
    overflow: hidden;
}




/* 斜めの“ガラス”ハイライト */
.inibo-badge2::before{
  content:"";
  position:absolute;
  inset: -20% -25%;
  transform: rotate(-22deg);
  background:
    linear-gradient(90deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.22) 35%,
      rgba(255,255,255,.08) 55%,
      rgba(255,255,255,0) 75%);
  pointer-events:none;
}

/* 輪郭のソフトグロー */
.inibo-badge2::after{
  content:"";
  position:absolute;
  inset: 6px;
  border-radius: 999px;
  box-shadow:
    0 0 22px rgba(255,255,255,.35),
    0 0 14px rgba(255,210,90,.22);
  pointer-events:none;
}

/* テキスト（白＋影＋ほんのり発光） */
.inibo-badge2__en,
.inibo-badge2__jp{
  position: relative;
  z-index: 1;
  display:block;
  color:#fff;
  text-shadow:
    0 2px 6px rgba(120,80,10,.55),
    0 0 10px rgba(255,255,255,.18);
  font-weight: 800;
  letter-spacing: .02em;
}

.inibo-badge2__en{
  font-size: 11px;
}

.inibo-badge2__jp{
  font-size: 14px;
}

/* 見出し列での配置（元の構造に合わせて） */
.inibo-card-head{
  display: flex;
  align-items: center;
  gap: 14px;
}

/* 1024以下：少し小さく */
@media (max-width: 1024px){
  .inibo-badge2{
    width: 108px;
  }
  .inibo-badge2__en{ font-size: 20px; }
  .inibo-badge2__jp{ font-size: 24px; }
}

/* 599以下：さらに小さく＆余白調整 */
@media (max-width: 599px){
  .inibo-badge2{
    width: 92px;
  }
  .inibo-badge2__en{ font-size: 17px; margin-bottom: 4px; }
  .inibo-badge2__jp{ font-size: 20px; }
  .inibo-card-head{
    gap: 12px;
  }
}

.gtcolumn-auto{
  grid-template-columns: auto;
}

.annotationtxt02{
  font-size: 12px;
}

.annotationtxt02.mt-10{
  margin-top: 10px;
}

.priceFlyerCard__body .fz-12{
  font-size: 12px;
}

.priceFlyerCard__body .mt-10{
  margin-top: 10px;
}

.iniboHero__area--orange{
  background: #de5c3c;
}

.inibo-compareNoteText.ml-0{
  margin-left: 0px;
}

@media screen and (max-width:599px) {
.iniboCompare__img{
  width: 33%;
} 

.inibo-badge2 {
  width: 62px;
}

    .inibo-badge2__en {
        font-size: 12px;
        margin-bottom: 0;
    }
    
    .inibo-badge2__jp {
        font-size: 14px;
    }    
}

.rowgap50{
  row-gap: 50px;
}

@media screen and (max-width:599px) {
.lcat1 .bab ul li{
  width: 100%;
}

.lcat1 .bab ul li:not(:last-of-type){
  margin-bottom: 30px;
}
}
