@charset "UTF-8";
/* ===== BIARABA FV CSS（追加CSS用） ===== */
.biaraba-fv-wrap{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.biaraba-fv{position:relative;min-height:92vh;overflow:hidden;background:#0b0b0b;color:#fff;display:flex;align-items:flex-end;padding:90px 18px 56px;isolation:isolate;}
.biaraba-fv__bg{position:absolute;inset:0;z-index:-4;overflow:hidden;}
.biaraba-fv__bg video{width:100%;height:100%;object-fit:cover;transform:scale(1.06);filter:blur(1px) brightness(.78) saturate(1.05);}
.biaraba-fv::before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(1200px 520px at 50% 40%, rgba(0,0,0,.35), transparent 60%),linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.62) 55%, rgba(0,0,0,.85) 100%);}
.biaraba-fv__lines{position:absolute;inset:0;z-index:-2;pointer-events:none;}
.biaraba-fv__lines::before,.biaraba-fv__lines::after{content:"";position:absolute;inset:-10% -10%;background:linear-gradient(135deg,transparent 0%,transparent 43%,rgba(205,155,77,.70) 43.2%,rgba(205,155,77,.70) 43.6%,transparent 44%,transparent 58%,rgba(205,155,77,.35) 58.2%,rgba(205,155,77,.35) 58.6%,transparent 59%,transparent 100%);transform:rotate(-9deg);opacity:.95;filter:drop-shadow(0 10px 26px rgba(0,0,0,.35));}
.biaraba-fv__lines::after{opacity:.55;transform:rotate(-9deg) translateY(26px);}
.biaraba-fv__inner{width:min(1120px,100%);margin:0 auto;text-align:center;}
.biaraba-fv__title{margin:0;font-weight:900;line-height:1.25;letter-spacing:.02em;font-size:clamp(26px,3.4vw,44px);text-shadow:0 18px 38px rgba(0,0,0,.55);}
.biaraba-fv__lead{margin:16px auto 0;max-width:860px;font-size:clamp(12px,1.35vw,14px);line-height:1.85;color:rgba(255,255,255,.78);text-shadow:0 10px 28px rgba(0,0,0,.55);}
.biaraba-fv__serviceRow{margin-top:26px;display:flex;align-items:center;justify-content:center;gap:14px;color:rgba(205,155,77,.95);font-weight:900;letter-spacing:.18em;text-transform:uppercase;}
.biaraba-fv__serviceRow::before,.biaraba-fv__serviceRow::after{content:"";height:1px;width:min(140px,18vw);background:rgba(205,155,77,.7);}
.biaraba-fv__serviceTitle{margin:8px 0 0;font-weight:900;font-size:clamp(18px,2.1vw,26px);color:rgba(255,255,255,.92);letter-spacing:.06em;}
.biaraba-cards{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.biaraba-card{position:relative;border-radius:16px;padding:18px 16px 14px;border:1px solid rgba(205,155,77,.65);box-shadow:0 16px 46px rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg, rgba(205,155,77,.55), rgba(205,155,77,.18)),radial-gradient(120% 120% at 0% 0%, rgba(255,255,255,.16), transparent 55%),rgba(0,0,0,.20);overflow:hidden;transition:transform .18s ease,border-color .18s ease,filter .18s ease;}
.biaraba-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 10px,transparent 10px,transparent 22px);opacity:.55;pointer-events:none;}
.biaraba-card a{position:absolute;inset:0;border-radius:16px;}
.biaraba-card__icon{width:46px;height:46px;margin:0 auto 10px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);}
.biaraba-card__icon svg{width:26px;height:26px;stroke:rgba(255,255,255,.95);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.biaraba-card__title{margin:0;font-weight:900;font-size:15px;color:rgba(255,255,255,.96);letter-spacing:.04em;}
.biaraba-card__sub{margin:8px 0 0;font-size:12px;line-height:1.6;color:rgba(255,255,255,.78);}
.biaraba-card__arrow{margin-top:10px;font-weight:900;font-size:18px;color:rgba(255,255,255,.92);}
.biaraba-card:hover{transform:translateY(-4px);border-color:rgba(205,155,77,.95);filter:saturate(1.05);}
@media(max-width:980px){.biaraba-fv{padding:78px 16px 44px;min-height:88vh;}.biaraba-cards{grid-template-columns:1fr;gap:12px;}.biaraba-card{padding:16px 14px 12px;}}

/* ===== BIARABA CONTACT ===== */
.biaraba-contact-wrap{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.biaraba-contact{
  position:relative;
  padding: 76px 18px 86px;
  background: #0b0b0b;
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}

/* 背景の“斜め” + 暗幕 */
.biaraba-contact::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(1200px 700px at 50% 20%, rgba(0,0,0,.15), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.72) 55%, rgba(0,0,0,.92) 100%);
}
.biaraba-contact::after{
  content:"";
  position:absolute;
  inset:-20% -20%;
  z-index:-1;
  background:
    linear-gradient(135deg,
      transparent 0%,
      transparent 43%,
      rgba(205,155,77,.55) 43.2%,
      rgba(205,155,77,.55) 43.6%,
      transparent 44%,
      transparent 58%,
      rgba(205,155,77,.28) 58.2%,
      rgba(205,155,77,.28) 58.6%,
      transparent 59%,
      transparent 100%
    );
  transform:rotate(-10deg);
  opacity:.55;
  filter: blur(0px) drop-shadow(0 16px 48px rgba(0,0,0,.35));
}

.biaraba-contact__inner{
  width:min(980px, 100%);
  margin:0 auto;
}

/* 見出し */
.biaraba-contact__title{
  margin:0 0 22px;
  text-align:center;
  font-weight:900;
  letter-spacing:.06em;
  font-size: clamp(18px, 2.2vw, 26px);
  text-shadow: 0 16px 34px rgba(0,0,0,.55);
}

/* 電話ボックス */
.biaraba-contact__telbox{
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 14px;
  padding: 18px 16px;
  text-align:center;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  margin-bottom: 28px;
}
.biaraba-contact__tel{
  display:inline-block;
  font-weight:900;
  letter-spacing:.06em;
  color: rgba(255,255,255,.96);
  font-size: clamp(18px, 2.2vw, 26px);
  text-decoration:none;
  border-bottom: 1px solid rgba(205,155,77,.75);
  padding-bottom: 2px;
}
.biaraba-contact__hours{
  margin: 8px 0 0;
  color: rgba(255,255,255,.78);
  font-size: 13px;
}

/* フォーム本体（ガラスカード） */
.biaraba-form{
  border-radius: 18px;
  border: 1px solid rgba(205,155,77,.55);
  background:
    linear-gradient(135deg, rgba(205,155,77,.18), rgba(0,0,0,.18)),
    rgba(255,255,255,.03);
  box-shadow: 0 20px 70px rgba(0,0,0,.45);
  overflow:hidden;
}

/* ストライプ */
.biaraba-form__stripe{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background:
    repeating-linear-gradient(135deg,
      rgba(255,255,255,.10) 0,
      rgba(255,255,255,.10) 10px,
      transparent 10px,
      transparent 22px
    );
}

.biaraba-form__inner{
  position:relative;
  padding: 26px 22px 22px;
}

/* フィールド */
.biaraba-field{
  margin: 0 0 16px;
}
.biaraba-label{
  display:block;
  margin: 0 0 8px;
  color: rgba(255,255,255,.90);
  font-weight: 800;
  letter-spacing:.04em;
  font-size: 14px;
}
.biaraba-input,
.biaraba-select,
.biaraba-textarea{
  width:100%;
  box-sizing:border-box;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.92);
  color:#111;
  padding: 14px 14px;
  font-size: 15px;
  outline:none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .05s ease;
}
.biaraba-textarea{ min-height: 170px; resize: vertical; }

.biaraba-input:focus,
.biaraba-select:focus,
.biaraba-textarea:focus{
  border-color: rgba(205,155,77,.95);
  box-shadow: 0 0 0 4px rgba(205,155,77,.18);
}

/* 2カラム（PC） */
.biaraba-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* ボタン */
.biaraba-actions{
  margin-top: 18px;
  display:flex;
  gap: 12px;
  align-items:center;
}
.biaraba-submit{
  border: 0;
  cursor:pointer;
  border-radius: 12px;
  padding: 14px 18px;
  font-weight: 900;
  letter-spacing:.06em;
  color:#111;
  background: linear-gradient(135deg, rgba(205,155,77,1), rgba(255,214,140,1));
  box-shadow: 0 16px 46px rgba(0,0,0,.35);
  transition: transform .12s ease, filter .12s ease;
}
.biaraba-submit:hover{ transform: translateY(-1px); filter: saturate(1.03); }
.biaraba-note{
  color: rgba(255,255,255,.70);
  font-size: 12px;
  line-height:1.6;
}

/* SP */
@media (max-width: 860px){
  .biaraba-grid{ grid-template-columns: 1fr; }
  .biaraba-contact{ padding: 56px 16px 64px; }
}
/* ===== CF7をびあらばデザインに寄せる ===== */
.biaraba-contact-wrap .wpcf7{
  margin: 0;
}

.biaraba-contact-wrap .wpcf7 form{
  margin: 0;
}

.biaraba-contact-wrap .wpcf7-response-output{
  margin: 16px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.35);
  color: rgba(255,255,255,.9);
}

.biaraba-contact-wrap .wpcf7-not-valid-tip{
  margin-top: 8px;
  color: #ffd27a;
  font-size: 14px;
}

/* 2カラム（名前 / メール） */
.biaraba-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}
@media (max-width: 768px){
  .biaraba-grid{ grid-template-columns: 1fr; }
}

.biaraba-field{ margin: 0 0 18px; }

.biaraba-label{
  display: block;
  margin: 0 0 10px;
  font-weight: 700;
  letter-spacing: .02em;
  color: rgba(255,255,255,.92);
}

/* 入力系（ガラス + ゴールド） */
.biaraba-input,
.biaraba-select,
.biaraba-textarea{
  width: 100%;
  box-sizing: border-box;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.28);
  color: rgba(255,255,255,.92);
  padding: 14px 14px;
  outline: none;
  box-shadow: 0 10px 30px rgba(0,0,0,.30);
  transition: transform .12s ease, border-color .12s ease, background .12s ease;
}

.biaraba-textarea{
  min-height: 220px;
  resize: vertical;
  padding: 14px 14px;
}

.biaraba-input:focus,
.biaraba-select:focus,
.biaraba-textarea:focus{
  border-color: rgba(255,210,122,.55);
  background: rgba(0,0,0,.34);
  transform: translateY(-1px);
}

/* プレースホルダー */
.biaraba-input::placeholder,
.biaraba-textarea::placeholder{
  color: rgba(255,255,255,.55);
}

/* selectの矢印を見やすく */
.biaraba-select{
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,.65) 50%),
    linear-gradient(135deg, rgba(255,255,255,.65) 50%, transparent 50%);
  background-position:
    calc(100% - 22px) 50%,
    calc(100% - 16px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 44px;
}

/* 送信ボタン */
.biaraba-actions{
  margin-top: 10px;
}

.biaraba-submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  padding: 12px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255,210,122,.45);
  background: linear-gradient(180deg, rgba(255,210,122,.22), rgba(0,0,0,.18));
  color: rgba(255,255,255,.95);
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  transition: transform .12s ease, filter .12s ease;
}

.biaraba-submit:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
}

.biaraba-note{
  margin: 12px 0 0;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  line-height: 1.6;
}

/* CF7が勝手に入れる余計なpの余白を潰す */
.biaraba-contact-wrap .wpcf7 p{
  margin: 0;
}
/* =========================
   COROCORO RENTAL
   bi-rental があるページで強制適用
   ========================= */

/* bi-rental があるページの背景を黒に（SWELL白背景を潰す） */
body:has(.bi-rental) .l-main,
body:has(.bi-rental) .l-content,
body:has(.bi-rental) .l-article,
body:has(.bi-rental) .post_content{
  background:#070707 !important;
}

/* bi-rental全体（これが効けば勝ち） */
body:has(.bi-rental) .bi-rental{
  --bi-gold:#caa15a;
  --bi-gold2:#e2c27a;
  --bi-bg:#070707;
  --bi-text: rgba(255,255,255,.92);
  --bi-sub: rgba(255,255,255,.70);
  --bi-radius: 22px;

  background: var(--bi-bg) !important;
  color: var(--bi-text) !important;
  overflow:hidden;
}

body:has(.bi-rental) .bi-rental *{ box-sizing:border-box; }
body:has(.bi-rental) .bi-rental a{ color:inherit; text-decoration:none; }

body:has(.bi-rental) .bi-rental .bi-inner{
  width: min(1100px, calc(100% - 40px));
  margin-inline:auto;
}

/* SWELL見出し装飾（グラデ/下線/背景）を bi-rental 内だけ完全無効化 */
body:has(.bi-rental) .bi-rental h1,
body:has(.bi-rental) .bi-rental h2,
body:has(.bi-rental) .bi-rental h3{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  -webkit-text-fill-color: currentColor !important;
}

/* ===== HERO ===== */
body:has(.bi-rental) .bi-rental .bi-hero{
  position:relative;
  min-height:72vh;
  display:grid;
  align-items:center;
  padding:70px 0 56px;
  background:#000;
}
body:has(.bi-rental) .bi-rental .bi-hero__bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.03);
}
body:has(.bi-rental) .bi-rental .bi-hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at 50% 15%, rgba(255,255,255,.10) 0%, rgba(0,0,0,.0) 55%),
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.80) 70%, rgba(0,0,0,.92) 100%);
}
body:has(.bi-rental) .bi-rental .bi-hero__lines{
  position:absolute; inset:-40px -10%;
  background:
    linear-gradient(125deg, transparent 0 52%, rgba(202,161,90,.55) 53%, rgba(202,161,90,.15) 56%, transparent 57%),
    linear-gradient(125deg, transparent 0 72%, rgba(202,161,90,.40) 73%, rgba(202,161,90,.10) 76%, transparent 77%);
  opacity:.55;
  mix-blend-mode:screen;
  pointer-events:none;
}
body:has(.bi-rental) .bi-rental .bi-hero__grain{
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:3px 3px;
  opacity:.08;
  pointer-events:none;
}
body:has(.bi-rental) .bi-rental .bi-hero__content{
  position:relative;
  z-index:2;
  text-align:center;
}
body:has(.bi-rental) .bi-rental .bi-hero__kicker{
  font-size:14px;
  letter-spacing:.18em;
  color: rgba(255,255,255,.72);
  margin-bottom:12px;
}
body:has(.bi-rental) .bi-rental .bi-hero__title{
  color:#fff !important;
  font-size: clamp(34px, 4.2vw, 52px);
  line-height:1.18;
  font-weight:800;
  text-shadow:0 16px 40px rgba(0,0,0,.65);
  margin:0 0 16px;
}
body:has(.bi-rental) .bi-rental .bi-hero__lead{
  max-width:760px;
  margin:0 auto 22px;
  color: var(--bi-sub);
  font-size:15.5px;
  line-height:1.9;
}

/* CTA */
body:has(.bi-rental) .bi-rental .bi-cta{ display:flex; justify-content:center; margin-top:18px; }
body:has(.bi-rental) .bi-rental .bi-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(202,161,90,.7);
  background: linear-gradient(180deg, rgba(202,161,90,.20), rgba(202,161,90,.08));
  box-shadow:0 18px 45px rgba(0,0,0,.45);
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.2;
  white-space:nowrap;
}
@media (max-width:420px){
  body:has(.bi-rental) .bi-rental .bi-cta__btn{ white-space:normal; }
}

/* tags */
body:has(.bi-rental) .bi-rental .bi-tags{
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:14px;
}
body:has(.bi-rental) .bi-rental .bi-tag{
  font-size:12px;
  color: rgba(255,255,255,.78);
  border:1px solid rgba(202,161,90,.45);
  background: rgba(0,0,0,.35);
  padding:8px 12px;
  border-radius:999px;
}

/* セクション見出し：白太字固定（グラデを殺す） */
body:has(.bi-rental) .bi-rental .bi-sec{ padding:54px 0; }
body:has(.bi-rental) .bi-rental .bi-sec__title{
  text-align:center;
  font-size:22px;
  letter-spacing:.08em;
  margin:0 0 26px;
  color:#fff !important;
  font-weight:900 !important;
}
body:has(.bi-rental) .bi-rental .bi-sec__title span{
  color:#fff !important;
  font-weight:900 !important;
  -webkit-text-fill-color:#fff !important;
}

/* cards */
body:has(.bi-rental) .bi-rental .bi-cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
body:has(.bi-rental) .bi-rental .bi-card{
  border-radius: var(--bi-radius);
  border:1px solid rgba(202,161,90,.35);
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(0,0,0,.20)),
    repeating-linear-gradient(135deg, rgba(202,161,90,.08) 0 10px, rgba(0,0,0,0) 10px 20px);
  padding:22px 22px 18px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
}
body:has(.bi-rental) .bi-rental .bi-card__h{ color:#fff; font-size:18px; font-weight:800; margin:0 0 10px; }
body:has(.bi-rental) .bi-rental .bi-chip{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(202,161,90,.45);
  color: rgba(255,255,255,.85);
  font-size:12px;
  background: rgba(0,0,0,.25);
  margin:8px 0 12px;
}
body:has(.bi-rental) .bi-rental .bi-card__p{ color: var(--bi-sub); line-height:1.9; font-size:13.5px; margin:0; }

/* price */
body:has(.bi-rental) .bi-rental .bi-price{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:18px;
}
body:has(.bi-rental) .bi-rental .bi-plan{
  border-radius: var(--bi-radius);
  border:1px solid rgba(202,161,90,.35);
  background:
    radial-gradient(900px 380px at 50% 0%, rgba(226,194,122,.16), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.22)),
    repeating-linear-gradient(135deg, rgba(202,161,90,.08) 0 10px, rgba(0,0,0,0) 10px 20px);
  padding:24px 24px 18px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  position:relative;
}
body:has(.bi-rental) .bi-rental .bi-badge{
  position:absolute; top:18px; right:18px;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid rgba(226,194,122,.55);
  background: rgba(0,0,0,.30);
  color: rgba(255,255,255,.88);
}
body:has(.bi-rental) .bi-rental .bi-plan__h{ color:#fff; font-size:18px; font-weight:900; margin:0 0 8px; }
body:has(.bi-rental) .bi-rental .bi-plan__rate{ color:#fff; font-size: clamp(40px, 4vw, 56px); font-weight:900; margin:8px 0 6px; }
body:has(.bi-rental) .bi-rental .bi-plan__rate small{ font-size:14px; font-weight:700; color: rgba(255,255,255,.70); margin-left:6px; }
body:has(.bi-rental) .bi-rental .bi-plan__sub{ color: var(--bi-sub); margin:0 0 14px; line-height:1.9; }

body:has(.bi-rental) .bi-rental .bi-list{ margin:0; padding-left:0; list-style:none; display:grid; gap:10px; }
body:has(.bi-rental) .bi-rental .bi-list li{ display:flex; gap:10px; align-items:flex-start; color: rgba(255,255,255,.86); }
body:has(.bi-rental) .bi-rental .bi-list li:before{ content:"✓"; color: var(--bi-gold2); font-weight:900; }

/* &#x2705; 向いている/向いていない：並列 */
body:has(.bi-rental) .bi-rental .bi-fit{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
}
body:has(.bi-rental) .bi-rental .bi-fitbox{
  border-radius: var(--bi-radius);
  border:1px solid rgba(202,161,90,.35);
  background: rgba(0,0,0,.25);
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  overflow:hidden;
}
body:has(.bi-rental) .bi-rental .bi-fitbox__head{
  padding:14px 16px;
  border-bottom:1px solid rgba(202,161,90,.25);
  background: rgba(0,0,0,.35);
  font-weight:900;
  color:#fff;
}
body:has(.bi-rental) .bi-rental .bi-fitbox__body{ padding:14px 16px 16px; }

/* &#x2705; 単発レンタル：中央寄せ（partyセクション内のbi-planを中央に） */
body:has(.bi-rental) .bi-rental .bi-sec .bi-plan{
  margin-left:auto;
  margin-right:auto;
}
body:has(.bi-rental) .bi-rental .bi-sec:nth-last-of-type(2) .bi-plan{
  max-width:820px;
  text-align:center;
}
body:has(.bi-rental) .bi-rental .bi-sec:nth-last-of-type(2) .bi-list li{ justify-content:center; }

/* bottom */
body:has(.bi-rental) .bi-rental .bi-bottom{ padding:54px 0 68px; text-align:center; }
body:has(.bi-rental) .bi-rental .bi-bottom__title{ color:#fff; font-size:22px; font-weight:900; margin:0 0 14px; }
body:has(.bi-rental) .bi-rental .bi-bottom__lead{ color: var(--bi-sub); line-height:1.9; margin:0 auto 18px; max-width:820px; }

@media (max-width:960px){
  body:has(.bi-rental) .bi-rental .bi-cards{ grid-template-columns:1fr; }
  body:has(.bi-rental) .bi-rental .bi-price{ grid-template-columns:1fr; }
  body:has(.bi-rental) .bi-rental .bi-fit{ grid-template-columns:1fr; }
  body:has(.bi-rental) .bi-rental .bi-hero{ min-height:64vh; padding:58px 0 46px; }
}
/* =========================
   SWELL ページタイトルを白で強制表示
   （bi-rentalとは別枠で対処）
   ========================= */

/* タイトル文字 */
body:has(.bi-rental) .c-pageTitle__title{
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 
    0 8px 24px rgba(0,0,0,.75),
    0 2px 0 rgba(0,0,0,.4) !important;
}

/* サブタイトル（あれば） */
body:has(.bi-rental) .c-pageTitle__lead,
body:has(.bi-rental) .c-pageTitle__catch{
  color: rgba(255,255,255,.85) !important;
}

/* タイトル帯の背景も暗くしてコントラスト確保 */
body:has(.bi-rental) .c-pageTitle{
  background: linear-gradient(
    180deg,
    #0b0b0b 0%,
    #060606 100%
  ) !important;
  border-bottom: 1px solid rgba(202,161,90,.35);
}
/* =========================
   BIARABA RPO LP
   bi-rpo があるページで強制適用（page-id依存しない）
   ========================= */

/* 背景を黒に（SWELL白を潰す） */
body:has(.bi-rpo) .l-main,
body:has(.bi-rpo) .l-content,
body:has(.bi-rpo) .l-article,
body:has(.bi-rpo) .post_content,
body:has(.bi-rpo) .p-entry__body{
  background:#070707 !important;
}

/* サイドバーを消してLP化 */
body:has(.bi-rpo) .l-sidebar,
body:has(.bi-rpo) .p-entry__sidebar{
  display:none !important;
}
body:has(.bi-rpo) .l-content{
  grid-template-columns: 1fr !important;
}
body:has(.bi-rpo) .l-main{
  width: 100% !important;
  max-width: 100% !important;
}

/* ページタイトル帯を非表示（LPは不要） */
body:has(.bi-rpo) .c-pageTitle,
body:has(.bi-rpo) .p-entry__head,
body:has(.bi-rpo) .p-entry__title{
  display:none !important;
}

/* bi-rpo全体 */
body:has(.bi-rpo) .bi-rpo{
  --bi-gold:#caa15a;
  --bi-gold2:#e2c27a;
  --bi-bg:#070707;
  --bi-text: rgba(255,255,255,.92);
  --bi-sub: rgba(255,255,255,.72);
  --bi-line: rgba(202,161,90,.35);
  --bi-radius: 22px;

  background: var(--bi-bg) !important;
  color: var(--bi-text) !important;
  overflow:hidden;
}
body:has(.bi-rpo) .bi-rpo *{ box-sizing:border-box; }
body:has(.bi-rpo) .bi-rpo a{ color:inherit; text-decoration:none; }

body:has(.bi-rpo) .bi-rpo .bi-inner{
  width: min(1100px, calc(100% - 40px));
  margin-inline:auto;
}

/* SWELLの見出し装飾をLP内だけ殺す */
body:has(.bi-rpo) .bi-rpo h1,
body:has(.bi-rpo) .bi-rpo h2,
body:has(.bi-rpo) .bi-rpo h3{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  -webkit-text-fill-color: currentColor !important;
}

/* ===== HERO ===== */
body:has(.bi-rpo) .bi-rpo .bi-hero{
  position:relative;
  min-height:72vh;
  display:grid;
  align-items:center;
  padding:70px 0 56px;
  background:#000;
}
body:has(.bi-rpo) .bi-rpo .bi-hero__bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  filter: saturate(.9) contrast(1.05);
}
body:has(.bi-rpo) .bi-rpo .bi-hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at 50% 15%, rgba(255,255,255,.10) 0%, rgba(0,0,0,.0) 55%),
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.82) 72%, rgba(0,0,0,.94) 100%);
}
body:has(.bi-rpo) .bi-rpo .bi-hero__lines{
  position:absolute; inset:-40px -10%;
  background:
    linear-gradient(125deg, transparent 0 52%, rgba(202,161,90,.55) 53%, rgba(202,161,90,.15) 56%, transparent 57%),
    linear-gradient(125deg, transparent 0 72%, rgba(202,161,90,.40) 73%, rgba(202,161,90,.10) 76%, transparent 77%);
  opacity:.55;
  mix-blend-mode:screen;
  pointer-events:none;
}
body:has(.bi-rpo) .bi-rpo .bi-hero__grain{
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:3px 3px;
  opacity:.08;
  pointer-events:none;
}
body:has(.bi-rpo) .bi-rpo .bi-hero__content{ position:relative; z-index:2; text-align:center; }
body:has(.bi-rpo) .bi-rpo .bi-hero__kicker{
  font-size:14px;
  letter-spacing:.18em;
  color: rgba(255,255,255,.72);
  margin-bottom:12px;
}
body:has(.bi-rpo) .bi-rpo .bi-hero__title{
  color:#fff !important;
  font-size: clamp(32px, 4.1vw, 54px);
  line-height:1.15;
  font-weight:900;
  text-shadow:0 16px 40px rgba(0,0,0,.65);
  margin:0 0 16px;
}
body:has(.bi-rpo) .bi-rpo .bi-hero__lead{
  max-width:860px;
  margin:0 auto 22px;
  color: var(--bi-sub);
  font-size:15.5px;
  line-height:1.9;
}
body:has(.bi-rpo) .bi-rpo .bi-tags{
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:14px;
}
body:has(.bi-rpo) .bi-rpo .bi-tag{
  font-size:12px;
  color: rgba(255,255,255,.78);
  border:1px solid rgba(202,161,90,.45);
  background: rgba(0,0,0,.35);
  padding:8px 12px;
  border-radius:999px;
}

/* CTA */
body:has(.bi-rpo) .bi-rpo .bi-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:18px; }
body:has(.bi-rpo) .bi-rpo .bi-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(202,161,90,.7);
  background: linear-gradient(180deg, rgba(202,161,90,.22), rgba(202,161,90,.08));
  box-shadow:0 18px 45px rgba(0,0,0,.45);
  font-weight:900;
  letter-spacing:.06em;
  line-height:1.2;
  white-space:nowrap;
}
body:has(.bi-rpo) .bi-rpo .bi-cta__btn--ghost{
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
}

/* ===== sections ===== */
body:has(.bi-rpo) .bi-rpo .bi-sec{ padding:54px 0; }
body:has(.bi-rpo) .bi-rpo .bi-sec__title{
  text-align:center;
  font-size:22px;
  letter-spacing:.08em;
  margin:0 0 26px;
  color:#fff !important;
  font-weight:900 !important;
}
body:has(.bi-rpo) .bi-rpo .bi-sec__lead{
  max-width:900px;
  margin:0 auto 18px;
  color: var(--bi-sub);
  line-height:1.9;
  text-align:center;
}

/* cards */
body:has(.bi-rpo) .bi-rpo .bi-cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
body:has(.bi-rpo) .bi-rpo .bi-card{
  border-radius: var(--bi-radius);
  border:1px solid rgba(202,161,90,.35);
  background:
    radial-gradient(900px 380px at 50% 0%, rgba(226,194,122,.14), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.22)),
    repeating-linear-gradient(135deg, rgba(202,161,90,.08) 0 10px, rgba(0,0,0,0) 10px 20px);
  padding:22px 22px 18px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
}
body:has(.bi-rpo) .bi-rpo .bi-card__h{ color:#fff; font-size:18px; font-weight:900; margin:0 0 10px; }
body:has(.bi-rpo) .bi-rpo .bi-chip{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(202,161,90,.45);
  color: rgba(255,255,255,.85);
  font-size:12px;
  background: rgba(0,0,0,.25);
  margin:8px 0 12px;
}
body:has(.bi-rpo) .bi-rpo .bi-card__p{ color: var(--bi-sub); line-height:1.9; font-size:13.5px; margin:0; }

/* plan */
body:has(.bi-rpo) .bi-rpo .bi-price{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
body:has(.bi-rpo) .bi-rpo .bi-plan{
  border-radius: var(--bi-radius);
  border:1px solid rgba(202,161,90,.35);
  background:
    radial-gradient(900px 380px at 50% 0%, rgba(226,194,122,.16), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.22)),
    repeating-linear-gradient(135deg, rgba(202,161,90,.08) 0 10px, rgba(0,0,0,0) 10px 20px);
  padding:24px 24px 18px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  position:relative;
}
body:has(.bi-rpo) .bi-rpo .bi-badge{
  position:absolute; top:18px; right:18px;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid rgba(226,194,122,.55);
  background: rgba(0,0,0,.30);
  color: rgba(255,255,255,.88);
}
body:has(.bi-rpo) .bi-rpo .bi-plan__h{ color:#fff; font-size:18px; font-weight:900; margin:0 0 8px; }
body:has(.bi-rpo) .bi-rpo .bi-plan__rate{ color:#fff; font-size: clamp(32px, 3.2vw, 44px); font-weight:900; margin:10px 0 6px; }
body:has(.bi-rpo) .bi-rpo .bi-plan__rate small{ font-size:13px; font-weight:700; color: rgba(255,255,255,.70); margin-left:6px; }
body:has(.bi-rpo) .bi-rpo .bi-plan__sub{ color: var(--bi-sub); margin:0 0 14px; line-height:1.9; font-size:13.5px; }

body:has(.bi-rpo) .bi-rpo .bi-list{ margin:0; padding-left:0; list-style:none; display:grid; gap:10px; }
body:has(.bi-rpo) .bi-rpo .bi-list li{ display:flex; gap:10px; align-items:flex-start; color: rgba(255,255,255,.86); }
body:has(.bi-rpo) .bi-rpo .bi-list li:before{ content:"✓"; color: var(--bi-gold2); font-weight:900; }

/* fee/initial */
body:has(.bi-rpo) .bi-rpo .bi-fee{
  margin-top:18px;
  border-radius: var(--bi-radius);
  border:1px solid rgba(202,161,90,.35);
  background: rgba(0,0,0,.25);
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  overflow:hidden;
}
body:has(.bi-rpo) .bi-rpo .bi-fee__row{
  display:grid;
  grid-template-columns: 160px 1fr;
  gap:12px;
  padding: 12px 16px;
  border-top:1px solid rgba(255,255,255,.08);
}
body:has(.bi-rpo) .bi-rpo .bi-fee__row:first-child{ border-top:0; }
body:has(.bi-rpo) .bi-rpo .bi-fee__label{ color: rgba(255,255,255,.70); font-size:13px; }
body:has(.bi-rpo) .bi-rpo .bi-fee__value{ color: rgba(255,255,255,.86); font-size:13px; line-height:1.8; }

/* Contact */
body:has(.bi-rpo) .bi-rpo .bi-contact{
  padding: 56px 0 68px;
  position:relative;
}
body:has(.bi-rpo) .bi-rpo .bi-contact__title{
  text-align:center;
  color:#fff;
  font-weight:900;
  font-size:22px;
  letter-spacing:.08em;
  margin:0 0 14px;
}
body:has(.bi-rpo) .bi-rpo .bi-contact__lead{
  text-align:center;
  color: var(--bi-sub);
  line-height:1.9;
  margin:0 auto 18px;
  max-width:860px;
}
body:has(.bi-rpo) .bi-rpo .bi-formcard{
  border-radius: var(--bi-radius);
  border:1px solid rgba(202,161,90,.35);
  background: rgba(255,255,255,.04);
  box-shadow:0 20px 70px rgba(0,0,0,.45);
  padding:22px;
}

/* CF7の余計な余白 */
body:has(.bi-rpo) .bi-rpo .wpcf7 p{ margin:0; }

/* Responsive */
@media (max-width:960px){
  body:has(.bi-rpo) .bi-rpo .bi-cards{ grid-template-columns:1fr; }
  body:has(.bi-rpo) .bi-rpo .bi-price{ grid-template-columns:1fr; }
  body:has(.bi-rpo) .bi-rpo .bi-hero{ min-height:64vh; padding:58px 0 46px; }
}
/* =========================
   RPO: 全体を中央寄せ（フルブリード化）
   + おすすめバッジ干渉回避
   ========================= */

/* SWELLの外枠（container/padding）で左に寄るのを潰す */
body:has(.bi-rpo) .l-container{
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* LP自体をフルブリード（画面いっぱい）にして真ん中基準に */
body:has(.bi-rpo) .bi-rpo{
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* 中のコンテンツは中央で揃えつつ、左右余白は確保 */
body:has(.bi-rpo) .bi-rpo .bi-inner{
  margin-inline: auto !important;
  padding-left: 20px;
  padding-right: 20px;
}

/* HEROが左に見えるのを確実に潰す（念のため） */
body:has(.bi-rpo) .bi-rpo .bi-hero__content{
  margin-inline: auto !important;
  text-align: center !important;
}

/* === おすすめバッジがタイトルと被るのを回避 === */
body:has(.bi-rpo) .bi-rpo .bi-plan{
  position: relative;
}

/* バッジ位置を少し上に＆サイズ微調整 */
body:has(.bi-rpo) .bi-rpo .bi-badge{
  top: 14px !important;
  right: 14px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* タイトル側に“バッジ分の逃げ”を作る（これが効く） */
body:has(.bi-rpo) .bi-rpo .bi-plan__h{
  padding-right: 110px; /* バッジの占有スペース */
}

/* SPではバッジが邪魔になりやすいので、相対配置に変更 */
@media (max-width: 520px){
  body:has(.bi-rpo) .bi-rpo .bi-badge{
    position: static !important;
    display: inline-flex !important;
    margin: 0 0 10px 0 !important;
  }
  body:has(.bi-rpo) .bi-rpo .bi-plan__h{
    padding-right: 0 !important;
  }
}
/* =========================
   RPO: 中央寄せを :has なしで強制（最終兵器）
   ========================= */

/* 590ページだけ確実にフルブリード化（保険） */
body.page-id-590 .l-container{
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* .bi-rpo 自体を画面いっぱいにして中央基準にする（:has なし） */
body.page-id-590 .bi-rpo{
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* 各セクション内の “中身” を中央に */
body.page-id-590 .bi-rpo .bi-inner{
  width: min(1100px, calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 料金プランの3枚が左に寄るのを潰す（grid自体を中央寄せ） */
body.page-id-590 .bi-rpo .bi-price{
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
  justify-items: stretch !important;
}

/* もしカードが縮んで左寄りになるなら、カード幅を強制 */
body.page-id-590 .bi-rpo .bi-plan{
  width: 100% !important;
}

/* スマホは1カラムでOK（保険） */
@media (max-width: 960px){
  body.page-id-590 .bi-rpo .bi-price{
    grid-template-columns: 1fr !important;
  }
}
/* =========================
   BIARABA / 飲食開業サポート LP
   .bi-open があるページで強制適用（page-id依存しない）
   ========================= */

body:has(.bi-open){
  --bi-gold:#caa15a;
  --bi-gold2:#e2c27a;
  --bi-bg:#070707;
  --bi-text: rgba(255,255,255,.92);
  --bi-sub: rgba(255,255,255,.72);
  --bi-line: rgba(202,161,90,.35);
  --bi-radius: 22px;
}

/* ---- SWELL標準の“記事っぽさ”を消す（最重要） ---- */
body:has(.bi-open) .c-pageTitle,
body:has(.bi-open) .p-entry__head,
body:has(.bi-open) .p-entry__title,
body:has(.bi-open) .p-breadcrumb{
  display:none !important;
}

/* 背景（白）を確実に潰す */
body:has(.bi-open),
body:has(.bi-open) .l-content,
body:has(.bi-open) .l-main,
body:has(.bi-open) .l-article,
body:has(.bi-open) .post_content,
body:has(.bi-open) .p-entry__body{
  background: var(--bi-bg) !important;
}

/* サイドバー/2カラム潰し */
body:has(.bi-open) .l-sidebar,
body:has(.bi-open) .p-entry__sidebar{
  display:none !important;
}
body:has(.bi-open) .l-content{
  grid-template-columns: 1fr !important;
}

/* 外枠の左右余白をゼロに（ここが効かないと“記事”に見える） */
body:has(.bi-open) .l-container{
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body:has(.bi-open) .l-main{
  width:100% !important;
  max-width:100% !important;
}

/* SWELL本文のpadding/marginをLP内だけゼロ寄せ */
body:has(.bi-open) .post_content,
body:has(.bi-open) .p-entry__body{
  padding: 0 !important;
}
body:has(.bi-open) .post_content > *:not(.bi-open),
body:has(.bi-open) .p-entry__body > *:not(.bi-open){
  margin: 0 !important;
}

/* ---- LP本体：フルブリード確定 ---- */
body:has(.bi-open) .bi-open{
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: var(--bi-bg) !important;
  color: var(--bi-text) !important;
  overflow:hidden;
}
body:has(.bi-open) .bi-open,
body:has(.bi-open) .bi-open *{
  box-sizing:border-box;
}
body:has(.bi-open) .bi-open a{ color:inherit; text-decoration:none; }

body:has(.bi-open) .bi-open .bi-inner{
  width: min(1100px, calc(100% - 40px));
  margin-left:auto !important;
  margin-right:auto !important;
}

/* LP内だけ SWELL見出し装飾を殺す */
body:has(.bi-open) .bi-open h1,
body:has(.bi-open) .bi-open h2,
body:has(.bi-open) .bi-open h3{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  -webkit-text-fill-color: currentColor !important;
}

/* ===== HERO ===== */
body:has(.bi-open) .bi-open .bi-hero{
  position:relative;
  min-height:72vh;
  display:grid;
  align-items:center;
  padding:80px 0 64px;
  background:#000;
}
body:has(.bi-open) .bi-open .bi-hero__bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  filter:saturate(.9) contrast(1.05);
}
body:has(.bi-open) .bi-open .bi-hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at 50% 15%, rgba(255,255,255,.10) 0%, rgba(0,0,0,.0) 55%),
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.84) 72%, rgba(0,0,0,.94) 100%);
}
body:has(.bi-open) .bi-open .bi-hero__lines{
  position:absolute; inset:-40px -10%;
  background:
    linear-gradient(125deg, transparent 0 52%, rgba(202,161,90,.55) 53%, rgba(202,161,90,.15) 56%, transparent 57%),
    linear-gradient(125deg, transparent 0 72%, rgba(202,161,90,.40) 73%, rgba(202,161,90,.10) 76%, transparent 77%);
  opacity:.55;
  mix-blend-mode:screen;
  pointer-events:none;
}
body:has(.bi-open) .bi-open .bi-hero__grain{
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:3px 3px;
  opacity:.08;
  pointer-events:none;
}
body:has(.bi-open) .bi-open .bi-hero__content{
  position:relative; z-index:2;
  text-align:center;
}
body:has(.bi-open) .bi-open .bi-hero__kicker{
  font-size:14px;
  letter-spacing:.18em;
  color: rgba(255,255,255,.72);
  margin-bottom:12px;
}
body:has(.bi-open) .bi-open .bi-hero__title{
  color:#fff !important;
  font-size: clamp(32px, 4.1vw, 54px);
  line-height:1.15;
  font-weight:900;
  text-shadow:0 16px 40px rgba(0,0,0,.65);
  margin:0 0 16px;
}
body:has(.bi-open) .bi-open .bi-hero__lead{
  max-width:860px;
  margin:0 auto 22px;
  color: var(--bi-sub);
  font-size:15.5px;
  line-height:1.9;
}
body:has(.bi-open) .bi-open .bi-tags{
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:14px;
}
body:has(.bi-open) .bi-open .bi-tag{
  font-size:12px;
  color: rgba(255,255,255,.78);
  border:1px solid rgba(202,161,90,.45);
  background: rgba(0,0,0,.35);
  padding:8px 12px;
  border-radius:999px;
}
body:has(.bi-open) .bi-open .bi-cta{
  display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:18px;
}
body:has(.bi-open) .bi-open .bi-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(202,161,90,.7);
  background: linear-gradient(180deg, rgba(202,161,90,.22), rgba(202,161,90,.08));
  box-shadow:0 18px 45px rgba(0,0,0,.45);
  font-weight:900;
  letter-spacing:.06em;
  line-height:1.2;
  white-space:nowrap;
}
body:has(.bi-open) .bi-open .bi-cta__btn--ghost{
  border-color: rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
}
body:has(.bi-open) .bi-open .bi-hero__note{
  margin-top:18px;
  color: rgba(255,255,255,.62);
  font-size:12.5px;
  line-height:1.7;
}

/* ===== sections / cards / flow / faq / contact ===== */
/* ここから下は“さっき渡したCSS”と同じでOKなので、今のあなたのCSSから
   「.bi-open配下のデザイン部分」をそのまま残して貼っても動く。
   ただ、まずは上の“当てる部分”を優先して通す。 */

/* 最低限：見出しやカードが白背景で崩れないように */
body:has(.bi-open) .bi-open .bi-sec{ padding:62px 0; }
body:has(.bi-open) .bi-open .bi-sec__title{ text-align:center; color:#fff !important; font-weight:900 !important; }
body:has(.bi-open) .bi-open .bi-sec__lead{ color: var(--bi-sub); text-align:center; }
body:has(.bi-open) .bi-open .bi-probCards,
body:has(.bi-open) .bi-open .bi-cards{ display:grid; gap:18px; grid-template-columns: repeat(3, 1fr); }
body:has(.bi-open) .bi-open .bi-probCard,
body:has(.bi-open) .bi-open .bi-card{
  border-radius: var(--bi-radius);
  border:1px solid rgba(202,161,90,.28);
  background: rgba(255,255,255,.04);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
  padding:22px;
}
body:has(.bi-open) .bi-open .bi-probCard__h,
body:has(.bi-open) .bi-open .bi-card__h{ color:#fff; font-weight:900; margin:0 0 10px; }
body:has(.bi-open) .bi-open .bi-probCard__p,
body:has(.bi-open) .bi-open .bi-card__p{ color: var(--bi-sub); margin:0; line-height:1.9; }
body:has(.bi-open) .bi-open .bi-chip{
  display:inline-flex; margin:0 0 12px;
  padding:6px 10px; border-radius:999px;
  border:1px solid rgba(202,161,90,.45);
  background: rgba(0,0,0,.25);
  color: rgba(255,255,255,.85);
  font-size:12px;
}

/* Responsive */
@media (max-width: 960px){
  body:has(.bi-open) .bi-open .bi-probCards,
  body:has(.bi-open) .bi-open .bi-cards{ grid-template-columns:1fr; }
  body:has(.bi-open) .bi-open .bi-hero{ min-height:64vh; padding:64px 0 54px; }
}
/* =========================
   BIARABA LP “しょぼい箇所”強化パック（追記用）
   ①センター文章 ②対応領域 ③相談からの流れ（＆全体の文字）
   ========================= */

/* 全体の文字を“LPの質感”に寄せる */
body:has(.bi-open) .bi-open{
  font-feature-settings: "palt";
  letter-spacing: .02em;
}
body:has(.bi-open) .bi-open p,
body:has(.bi-open) .bi-open li,
body:has(.bi-open) .bi-open div{
  color: var(--bi-sub);
  line-height: 1.9;
  font-size: 16px;
}
body:has(.bi-open) .bi-open b,
body:has(.bi-open) .bi-open strong{
  color:#fff;
}

/* ①「まずは判断材料…」の文章を“コールアウト化” */
body:has(.bi-open) .bi-open .bi-centerLead{
  max-width: 980px;
  margin: 26px auto 0;
  padding: 18px 22px;
  border-radius: var(--bi-radius);
  border: 1px solid rgba(202,161,90,.35);
  background:
    radial-gradient(900px 220px at 10% 0%, rgba(202,161,90,.16), transparent 55%),
    rgba(255,255,255,.04);
  box-shadow: 0 22px 60px rgba(0,0,0,.45);
  color: rgba(255,255,255,.82);
  font-size: 16px;
}
body:has(.bi-open) .bi-open .bi-centerLead b{
  color:#fff;
  font-weight: 900;
}
body:has(.bi-open) .bi-open .bi-centerLead::before{
  content:"POINT";
  display:inline-block;
  font-weight: 900;
  letter-spacing: .14em;
  font-size: 12px;
  color: rgba(255,255,255,.78);
  border: 1px solid rgba(202,161,90,.5);
  background: rgba(0,0,0,.25);
  padding: 6px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}

/* ②「対応できる領域（例）」を“チップの壁”にする */
body:has(.bi-open) .bi-open .bi-scope{
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(202,161,90,.22);
}
body:has(.bi-open) .bi-open .bi-scope__h{
  color:#fff;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom: 12px;
  text-align:left;
}
body:has(.bi-open) .bi-open .bi-scope__tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body:has(.bi-open) .bi-open .bi-tag2{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(202,161,90,.35);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.82);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  font-size: 13px;
  white-space: nowrap;
}
body:has(.bi-open) .bi-open .bi-tag2::before{
  content:"";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(202,161,90,.9);
  box-shadow: 0 0 0 3px rgba(202,161,90,.18);
}

/* ③「相談からの流れ」を“ステップカード化” */
body:has(.bi-open) .bi-open .bi-steps{
  display:grid;
  gap:12px;
  max-width: 980px;
  margin: 22px auto 0;
}
body:has(.bi-open) .bi-open .bi-step{
  display:grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  align-items:flex-start;
  padding: 16px 18px;
  border-radius: var(--bi-radius);
  border: 1px solid rgba(202,161,90,.28);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 50px rgba(0,0,0,.38);
}
body:has(.bi-open) .bi-open .bi-step__num{
  width: 44px; height: 44px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  font-weight: 900;
  color:#fff;
  border: 1px solid rgba(202,161,90,.55);
  background: linear-gradient(180deg, rgba(202,161,90,.22), rgba(0,0,0,.25));
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
}
body:has(.bi-open) .bi-open .bi-step__h{
  color:#fff;
  font-weight: 900;
  margin: 2px 0 4px;
}
body:has(.bi-open) .bi-open .bi-step__p{
  color: var(--bi-sub);
  margin: 0;
}

/* スマホ */
@media (max-width: 960px){
  body:has(.bi-open) .bi-open p,
  body:has(.bi-open) .bi-open li,
  body:has(.bi-open) .bi-open div{
    font-size: 15px;
  }
  body:has(.bi-open) .bi-open .bi-step{
    grid-template-columns: 44px 1fr;
  }
}
/* CALL OUT（無料相談の対象）をカード化 */
.bi-open .bi-callout{
  margin: 26px auto 0 !important;
  max-width: 980px !important;
  position: relative !important;
  padding: 24px 26px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(202,161,90,.28) !important;
  background:
    radial-gradient(900px 240px at 50% 0%, rgba(202,161,90,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.10)) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.35) !important;
  text-align: left !important;
}

.bi-open .bi-callout:before{
  content:"" !important;
  position:absolute !important;
  left: 22px !important;
  right: 22px !important;
  top: 12px !important;
  height: 1px !important;
  background: linear-gradient(90deg,
    transparent,
    rgba(202,161,90,.55),
    rgba(226,194,122,.35),
    transparent
  ) !important;
  opacity:.85 !important;
}

.bi-open .bi-callout__h{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 12px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(202,161,90,.40) !important;
  background: rgba(0,0,0,.25) !important;
  color: rgba(255,255,255,.92) !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  font-size: 13px !important;
}

.bi-open .bi-callout__h:before{
  content:"✓" !important;
  display:inline-grid !important;
  place-items:center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 999px !important;
  background: rgba(202,161,90,.18) !important;
  border: 1px solid rgba(202,161,90,.35) !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 12px !important;
}

.bi-open .bi-callout__p{
  margin: 0 !important;
  color: rgba(255,255,255,.72) !important;
  line-height: 1.95 !important;
  font-size: 15px !important;
}

.bi-open .bi-callout__p b{
  color: rgba(255,255,255,.96) !important;
  font-weight: 900 !important;
  text-shadow: 0 10px 28px rgba(0,0,0,.35) !important;
}

@media (max-width: 960px){
  .bi-open .bi-callout{
    padding: 18px 16px !important;
  }
}
/* =========================================================
   BIARABA OPEN LP - polish add-on
   paste this at the VERY BOTTOM of "Additional CSS"
   ========================================================= */

/* 0) global small tweaks inside LP */
body:has(.bi-open) .bi-open{
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
body:has(.bi-open) .bi-open .bi-sec{
  position: relative;
}
body:has(.bi-open) .bi-open .bi-sec__title{
  letter-spacing: .06em;
}
body:has(.bi-open) .bi-open .bi-sec__lead{
  max-width: 920px;
  margin: 10px auto 0;
  line-height: 1.9;
}

/* 1) "よくわからないまま～" の文章（.bi-centerLead）を“カード化”して強くする */
body:has(.bi-open) .bi-open .bi-centerLead{
  max-width: 980px;
  margin: 26px auto 0;
  padding: 18px 22px;
  border-radius: var(--bi-radius);
  border: 1px solid rgba(202,161,90,.28);
  background:
    radial-gradient(900px 240px at 50% 0%, rgba(202,161,90,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.10));
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
  color: rgba(255,255,255,.80);
  line-height: 2.0;
  font-size: 15.5px;
}
body:has(.bi-open) .bi-open .bi-centerLead b{
  color: #fff;
  font-weight: 900;
  position: relative;
}
body:has(.bi-open) .bi-open .bi-centerLead b::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:2px;
  background: rgba(202,161,90,.65);
  opacity:.9;
}

/* 2) "対応できる領域（例）" のリストを“チップ”に変換して見た目を揃える */
body:has(.bi-open) .bi-open .bi-scope{
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(202,161,90,.22);
}
body:has(.bi-open) .bi-open .bi-scope__h{
  color:#fff;
  font-weight: 900;
  letter-spacing: .06em;
  margin-bottom: 12px;
}
/* もし .bi-scope__tags があるならそれを強化 */
body:has(.bi-open) .bi-open .bi-scope__tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
/* もし span.bi-tag2 があるなら質感アップ */
body:has(.bi-open) .bi-open .bi-tag2{
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(202,161,90,.32);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.82);
  font-size: 13px;
  letter-spacing: .04em;
  box-shadow: 0 14px 40px rgba(0,0,0,.28);
}
body:has(.bi-open) .bi-open .bi-tag2:hover{
  border-color: rgba(202,161,90,.55);
  background: rgba(202,161,90,.08);
}

/* 3) "相談からの流れ" を“縦のカード+ライン”にして文章の塊感を消す */
body:has(.bi-open) .bi-open .bi-flow .bi-steps{
  max-width: 980px;
  margin: 22px auto 0;
  display: grid;
  gap: 14px;
}
body:has(.bi-open) .bi-open .bi-flow .bi-step{
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  padding: 18px 18px;
  border-radius: var(--bi-radius);
  border: 1px solid rgba(202,161,90,.22);
  background: rgba(255,255,255,.03);
  box-shadow: 0 18px 55px rgba(0,0,0,.32);
}
body:has(.bi-open) .bi-open .bi-flow .bi-step__num{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  color:#fff;
  border: 1px solid rgba(202,161,90,.55);
  background: linear-gradient(180deg, rgba(202,161,90,.18), rgba(0,0,0,.18));
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}
body:has(.bi-open) .bi-open .bi-flow .bi-step__h{
  color:#fff;
  font-weight: 900;
  margin: 0 0 6px;
  letter-spacing: .04em;
}
body:has(.bi-open) .bi-open .bi-flow .bi-step__p{
  color: rgba(255,255,255,.74);
  line-height: 1.9;
}

/* 4) "無料相談の対象"（.bi-callout）もカードとして統一感アップ */
body:has(.bi-open) .bi-open .bi-callout{
  max-width: 980px;
  margin: 18px auto 0;
  padding: 18px 22px;
  border-radius: var(--bi-radius);
  border: 1px solid rgba(202,161,90,.26);
  background:
    radial-gradient(900px 220px at 50% 0%, rgba(202,161,90,.10), transparent 60%),
    rgba(255,255,255,.03);
  box-shadow: 0 18px 55px rgba(0,0,0,.34);
}
body:has(.bi-open) .bi-open .bi-callout__h{
  color:#fff;
  font-weight: 900;
  letter-spacing: .06em;
  margin-bottom: 8px;
}
body:has(.bi-open) .bi-open .bi-callout__p{
  color: rgba(255,255,255,.78);
  line-height: 2.0;
}
body:has(.bi-open) .bi-open .bi-callout__p b{
  color:#fff;
  font-weight: 900;
}

/* 5) FAQを“高級っぽいアコーディオン”に寄せる（details/summary） */
body:has(.bi-open) .bi-open .bi-faq{
  max-width: 980px;
  margin: 18px auto 0;
  display: grid;
  gap: 10px;
}
body:has(.bi-open) .bi-open .bi-faq__item{
  border-radius: 16px;
  border: 1px solid rgba(202,161,90,.22);
  background: rgba(255,255,255,.03);
  overflow: hidden;
}
body:has(.bi-open) .bi-open .bi-faq__q{
  cursor: pointer;
  padding: 16px 18px;
  color: #fff;
  font-weight: 900;
  letter-spacing: .04em;
  list-style: none;
}
body:has(.bi-open) .bi-open details summary::-webkit-details-marker{ display:none; }
body:has(.bi-open) .bi-open .bi-faq__q::after{
  content:"";
  float:right;
  width:10px; height:10px;
  margin-top: 6px;
  border-right: 2px solid rgba(202,161,90,.75);
  border-bottom: 2px solid rgba(202,161,90,.75);
  transform: rotate(45deg);
  transition: transform .18s ease;
}
body:has(.bi-open) .bi-open details[open] .bi-faq__q::after{
  transform: rotate(225deg);
}
body:has(.bi-open) .bi-open .bi-faq__a{
  padding: 0 18px 16px;
  color: rgba(255,255,255,.78);
  line-height: 1.95;
}

/* 6) CTAボタンのホバーで“安っぽい”を消す */
body:has(.bi-open) .bi-open .bi-cta__btn{
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}
body:has(.bi-open) .bi-open .bi-cta__btn:hover{
  transform: translateY(-1px);
  border-color: rgba(202,161,90,.9);
  box-shadow: 0 22px 60px rgba(0,0,0,.45);
  background: linear-gradient(180deg, rgba(202,161,90,.26), rgba(202,161,90,.10));
}
body:has(.bi-open) .bi-open .bi-cta__btn--ghost:hover{
  border-color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.08);
}

/* 7) mobile spacing */
@media (max-width: 960px){
  body:has(.bi-open) .bi-open .bi-centerLead,
  body:has(.bi-open) .bi-open .bi-callout{
    padding: 16px 16px;
  }
  body:has(.bi-open) .bi-open .bi-flow .bi-step{
    grid-template-columns: 40px 1fr;
    padding: 16px 14px;
  }
  body:has(.bi-open) .bi-open .bi-flow .bi-step__num{
    width: 40px; height: 40px;
  }
}
/* =========================
   BIARABA TOP PAGE（LP化・HERO + SOLUTIONS）
   .bi-home があるページで適用
   ========================= */

/* === LP用 変数 === */
body:has(.bi-home){
  --bi-gold:#caa15a;
  --bi-gold2:#e2c27a;
  --bi-bg:#070707;
  --bi-text: rgba(255,255,255,.92);
  --bi-sub: rgba(255,255,255,.72);
  --bi-line: rgba(202,161,90,.35);
  --bi-radius:22px;
}

/* === SWELLの「記事感」を全殺し === */
body:has(.bi-home) .c-pageTitle,
body:has(.bi-home) .p-entry__head,
body:has(.bi-home) .p-entry__title,
body:has(.bi-home) .p-breadcrumb,
body:has(.bi-home) .l-sidebar,
body:has(.bi-home) .p-entry__sidebar{
  display:none !important;
}

body:has(.bi-home),
body:has(.bi-home) .l-content,
body:has(.bi-home) .l-main,
body:has(.bi-home) .l-article,
body:has(.bi-home) .post_content,
body:has(.bi-home) .p-entry__body{
  background:var(--bi-bg) !important;
}

/* === コンテナ幅・余白を完全解除 === */
body:has(.bi-home) .l-container{
  max-width:100% !important;
  padding:0 !important;
}
body:has(.bi-home) .l-main{
  width:100% !important;
  max-width:100% !important;
}
body:has(.bi-home) .post_content,
body:has(.bi-home) .p-entry__body{
  padding:0 !important;
}

/* === LP本体：フルブリード確定（中のsectionも全部含む） === */
body:has(.bi-home) .bi-home{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:var(--bi-bg);
  color:var(--bi-text);
  overflow:hidden;
}
body:has(.bi-home) .bi-home,
body:has(.bi-home) .bi-home *{
  box-sizing:border-box;
}
body:has(.bi-home) .bi-home a{
  color:inherit;
  text-decoration:none;
}

/* === 内側の最大幅 === */
body:has(.bi-home) .bi-home .bi-inner{
  width:min(1120px, calc(100% - 44px));
  margin:0 auto;
}

/* === SWELL見出し装飾を無効化（bi-home内のみ） === */
body:has(.bi-home) .bi-home h1,
body:has(.bi-home) .bi-home h2,
body:has(.bi-home) .bi-home h3{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  -webkit-text-fill-color:currentColor !important;
}

/* =========================
   HERO
   ========================= */
body:has(.bi-home) .bi-hero{
  position:relative;
  min-height:88vh;
  display:grid;
  align-items:center;
  padding:90px 0 76px;
  background:#000;
  isolation:isolate;
}

/* 背景 */
body:has(.bi-home) .bi-hero__bg{
  position:absolute;
  inset:0;
  z-index:-4;
  overflow:hidden;
}
body:has(.bi-home) .bi-hero__video{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.06);
  filter:blur(1px) brightness(.75) saturate(1.05);
}
body:has(.bi-home) .bi-hero__img{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.06);
  filter:blur(1px) brightness(.75) saturate(1.05);
}

/* overlay */
body:has(.bi-home) .bi-hero__overlay{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    radial-gradient(1200px 640px at 50% 18%, rgba(255,255,255,.10), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.95));
}

/* ライン装飾 */
body:has(.bi-home) .bi-hero__lines{
  position:absolute;
  inset:-40px -10%;
  z-index:-2;
  background:
    linear-gradient(125deg, transparent 0 52%, rgba(202,161,90,.55) 53%, rgba(202,161,90,.15) 56%, transparent 57%),
    linear-gradient(125deg, transparent 0 72%, rgba(202,161,90,.40) 73%, rgba(202,161,90,.10) 76%, transparent 77%);
  opacity:.55;
  mix-blend-mode:screen;
}

/* 粒子 */
body:has(.bi-home) .bi-hero__grain{
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:3px 3px;
  opacity:.08;
}

/* テキスト */
body:has(.bi-home) .bi-hero__content{ text-align:center; }
body:has(.bi-home) .bi-hero__kicker{
  font-size:12px;
  letter-spacing:.22em;
  color:rgba(255,255,255,.7);
  margin-bottom:14px;
}
body:has(.bi-home) .bi-hero__title{
  margin:0 0 18px;
  font-size:clamp(34px, 4.3vw, 56px);
  font-weight:900;
  line-height:1.15;
  color:#fff;
  text-shadow:0 18px 44px rgba(0,0,0,.7);
}
body:has(.bi-home) .bi-hero__lead{
  max-width:860px;
  margin:10px auto 0;
  font-size:15.5px;
  line-height:1.95;
  color:var(--bi-sub);
}
body:has(.bi-home) .bi-hero__lead--strong{
  margin-top:18px;
  color:rgba(255,255,255,.92);
  font-weight:900;
}

/* CTA */
body:has(.bi-home) .bi-cta{
  display:flex;
  justify-content:center;
  margin-top:26px;
}
body:has(.bi-home) .bi-cta__btn{
  padding:12px 20px;
  border-radius:999px;
  border:1px solid rgba(202,161,90,.75);
  background:linear-gradient(180deg, rgba(202,161,90,.22), rgba(202,161,90,.08));
  box-shadow:0 18px 46px rgba(0,0,0,.48);
  font-weight:900;
  letter-spacing:.06em;
}

/* タグ */
body:has(.bi-home) .bi-tags{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:18px;
}
body:has(.bi-home) .bi-tag{
  font-size:12px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(202,161,90,.45);
  background:rgba(0,0,0,.35);
  color:rgba(255,255,255,.8);
}

/* =========================
   BIARABA TOP / SOLUTIONS
   再構築・最終安定版
   ========================= */

/* セクション */
.bi-home .bi-solutions{
  padding: 96px 0 120px;
  background:
    radial-gradient(1200px 520px at 50% 0%, rgba(226,194,122,.08), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.98));
}

/* 中央幅 */
.bi-home .bi-inner{
  width: min(1120px, calc(100% - 44px));
  margin: 0 auto;
}

/* 見出し */
.bi-home .bi-eyebrow{
  text-align: center;
  font-size: 12px;
  letter-spacing: .28em;
  color: rgba(255,255,255,.55);
  margin-bottom: 14px;
}

.bi-home .bi-h2{
  position: relative;
  text-align: center;
  margin: 0 auto 18px;
  padding-bottom: 18px;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 900;
  letter-spacing: .04em;
  color: #fff;
}

.bi-home .bi-h2::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width: min(520px, 72vw);
  height:1px;
  background: rgba(202,161,90,.55);
}

.bi-home .bi-lead{
  max-width: 860px;
  margin: 0 auto 48px;
  text-align: center;
  font-size: 15px;
  line-height: 1.9;
  color: rgba(255,255,255,.72);
}

/* =========================
   3カード：flexのみ使用
   ========================= */
.bi-home .bi-solutions__grid{
  display: flex;
  gap: 28px;
  align-items: stretch;
}

/* 各カード */
.bi-home .bi-svc{
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  padding: 28px 26px 22px;

  border-radius: 22px;
  border: 1px solid rgba(202,161,90,.28);
  background:
    radial-gradient(900px 240px at 30% 0%, rgba(202,161,90,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.18));
  box-shadow: 0 18px 55px rgba(0,0,0,.38);
}

/* 下部固定 */
.bi-home .bi-svc__bottom{
  margin-top: auto;
  padding-top: 16px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.bi-home .bi-svc__btn{
  margin-left: auto;
}

/* =========================
   SWELL縦書き完全無効化
   ========================= */
.bi-home .bi-svc,
.bi-home .bi-svc *{
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
  white-space: normal !important;
}

/* =========================
   SP
   ========================= */
@media (max-width: 960px){
  .bi-home .bi-solutions{
    padding: 56px 0 72px;
  }

  .bi-home .bi-solutions__grid{
    flex-direction: column;
    gap: 16px;
  }

  .bi-home .bi-svc__btn{
    width: 100%;
    margin-left: 0;
  }
}
/* =========================
   BIARABA TOP / SOLUTIONS
   Design polish pack（見た目だけ仕上げ）
   ※いまの「横並び安定CSS」の下に追記
   ========================= */

/* カード全体：上品に、影と境界を調整 */
.bi-home .bi-svc{
  border: 1px solid rgba(202,161,90,.22);
  background:
    radial-gradient(900px 260px at 25% 0%, rgba(202,161,90,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(0,0,0,.22));
  box-shadow:
    0 22px 70px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(2px);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* ホバー：控えめに“持ち上がる” */
@media (hover:hover){
  .bi-home .bi-svc:hover{
    transform: translateY(-4px);
    border-color: rgba(202,161,90,.38);
    box-shadow:
      0 28px 85px rgba(0,0,0,.55),
      inset 0 1px 0 rgba(255,255,255,.07);
  }
}

/* 上段（01 START）：間隔と視認性 */
.bi-home .bi-svc__top{
  gap: 14px;
  margin-bottom: 14px;
}

/* 番号バッジ（01/02/03）：よりプレミアムに */
.bi-home .bi-svc__num{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  color: #111;
  box-shadow: 0 10px 24px rgba(202,161,90,.22);
}

/* kicker（START/LAUNCH/GROW）：文字間と薄さを整える */
.bi-home .bi-svc__kicker{
  font-size: 11.5px;
  letter-spacing: .26em;
  color: rgba(255,255,255,.58);
}

/* タイトル：行間と下線の“間”を整える */
.bi-home .bi-svc__title{
  margin: 6px 0 14px;
  font-size: 20px;
  line-height: 1.35;
  letter-spacing: .02em;
}

/* タイトルの下線（既存のhr的な線がある場合の調整） */
.bi-home .bi-svc__title + *{
  margin-top: 0;
}

/* 本文：可読性UP（長文でも詰まらない） */
.bi-home .bi-svc__lead{
  font-size: 14px;
  line-height: 1.95;
  color: rgba(255,255,255,.72);
  margin-bottom: 16px;
}

/* 箇条書き：間隔とドットを上品に */
.bi-home .bi-svc__list{
  padding-left: 1.15em;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.9;
  color: rgba(255,255,255,.70);
}
.bi-home .bi-svc__list li{
  margin: 8px 0;
}
.bi-home .bi-svc__list li::marker{
  color: rgba(202,161,90,.70);
}

/* 下部（タグ＋ボタン）：ここが今ダサい原因なので整列固定 */
.bi-home .bi-svc__bottom{
  gap: 10px 10px;
  padding-top: 18px;
  border-top: 1px solid rgba(202,161,90,.16);
}

/* タグ：高さ・余白・文字サイズを統一 */
.bi-home .bi-svc__tag{
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(202,161,90,.28);
  background: rgba(0,0,0,.26);
  color: rgba(255,255,255,.78);
  font-size: 12px;
  letter-spacing: .02em;
}

/* ボタン：右下固定、見た目を“押せるUI”へ */
.bi-home .bi-svc__btn{
  height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(202,161,90,.70);
  background: linear-gradient(180deg, rgba(202,161,90,.22), rgba(202,161,90,.06));
  color: rgba(255,255,255,.92);
  font-weight: 900;
  letter-spacing: .06em;
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
  transition: filter .15s ease, transform .15s ease, border-color .15s ease;
  margin-left: auto;
  white-space: nowrap;
}
@media (hover:hover){
  .bi-home .bi-svc__btn:hover{
    filter: brightness(1.07);
    border-color: rgba(226,194,122,.85);
    transform: translateY(-1px);
  }
}

/* 「タグが2個以上 + ボタン」で崩れる時の保険：ボタンは必ず最後に回す */
.bi-home .bi-svc__btn{
  order: 99;
}

/* タグが多いカードだけ、タグ行をきれいに折り返す */
.bi-home .bi-svc__tag{
  max-width: 100%;
}

/* 右カードで「詳細を見る →」が縦に落ちる対策（文字の折返し禁止） */
.bi-home .bi-svc__btn,
.bi-home .bi-svc__btn *{
  white-space: nowrap;
}

/* SP：ボタンは横幅100%のまま、タグは2列っぽく */
@media (max-width: 960px){
  .bi-home .bi-svc__bottom{
    gap: 10px;
  }
  .bi-home .bi-svc__tag{
    height: 32px;
  }
}
/* =========================
   SOLUTIONS：溢れ（ボタン改行）修正
   最下部に追記
   ========================= */

/* 下段：タグは折り返す、ボタンは折り返さない */
.bi-home .bi-svc__bottom{
  align-items: center !important;
}

/* ボタンを「1行固定」＋「中身はみ出し防止」 */
.bi-home .bi-svc__btn{
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;

  /* 右端に寄せたまま、幅を暴れさせない */
  max-width: 180px !important;   /* ←ここが効く。必要なら200に上げてOK */
  flex: 0 0 auto !important;
}

/* → マークも改行させない（念のため） */
.bi-home .bi-svc__btn::after{
  white-space: nowrap !important;
}

/* 小さめ画面ではボタンを少しだけ小さくして溢れ回避 */
@media (max-width: 1200px){
  .bi-home .bi-svc__btn{
    max-width: 160px !important;
    font-size: 13px !important;
  }
}
/* =========================
   SOLUTIONS：タグ縦割れ＆ボタン空欄（最終FIX）
   ※追加CSSの一番下に貼る
   ========================= */

/* 下段は“潰さず折り返す” */
.bi-home .bi-svc__bottom{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
}

/* タグ：縮まない（←1文字縦割れの犯人を殺す） */
.bi-home .bi-svc__tag{
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  min-width: fit-content !important;
}

/* ボタン：ellipsis系を無効化して、必ず見えるようにする */
.bi-home .bi-svc__btn{
  overflow: visible !important;
  text-overflow: clip !important;

  white-space: nowrap !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;

  max-width: none !important;
  min-width: 156px !important;   /* ここが“空欄化”防止の芯 */
  padding: 10px 14px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

/* もし横幅が厳しい時は“ボタンだけ”次の行へ逃がす（美しく収束） */
@media (max-width: 1180px){
  .bi-home .bi-svc__btn{
    flex-basis: 220px !important; /* ボタンの居場所を確保 */
  }
}

@media (max-width: 1040px){
  .bi-home .bi-svc__btn{
    flex-basis: 100% !important;  /* ボタンだけ2段目へ */
    margin-left: 0 !important;
    text-align: center !important;
    justify-content: center !important;
  }
}
/* =========================
   SOLUTIONS 微調整：
   ①「詳細を見る」位置ズレ
   ② 01 START を横並び + 視認性UP
   ========================= */

/* --- ① ボタン：全カードで“中央固定”にしてズレを消す --- */
.bi-home .bi-svc__bottom{
  position: relative !important;
  padding-top: 14px !important;
}

.bi-home .bi-svc__btn{
  margin-left: 0 !important;           /* autoを殺す */
  display: inline-flex !important;
  justify-content: center !important;

  /* 全カード同一位置＝中央固定 */
  margin-top: 8px !important;
  align-self: center !important;

  /* 見た目も少し整える */
  min-width: 220px !important;
  height: 44px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
}

/* タグが多くてもボタンを必ず下段に落とす（見た目安定） */
.bi-home .bi-svc__tag{
  margin-bottom: 6px !important;
}

/* --- ② 上部：数字チップ＋START を横並びにする --- */
.bi-home .bi-svc__top{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;                /* 数字とSTARTの間 */
  margin-bottom: 10px !important;
}

/* 数字：見えるように“金チップ”化（今は沈んで見えない） */
.bi-home .bi-svc__num{
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;

  font-weight: 900 !important;
  color: #111 !important;

  background: linear-gradient(180deg, rgba(226,194,122,.95), rgba(202,161,90,.95)) !important;
  box-shadow:
    0 10px 24px rgba(202,161,90,.22),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

/* START/LAUNCH/GROW：数字の“横”に出して、読みやすく */
.bi-home .bi-svc__kicker{
  font-size: 12px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.72) !important;

  padding-top: 1px !important;
}

/* もし01/02/03がHTML上 “num/kicker” じゃなく別要素でも崩れない保険 */
.bi-home .bi-svc__top > *{
  min-width: 0 !important;
}

/* SP：ボタンは幅いっぱいでOK（既存ルールを補強） */
@media (max-width: 960px){
  .bi-home .bi-svc__btn{
    width: 100% !important;
    min-width: 0 !important;
  }
}
/* =========================
   BIARABA TOP / CONTACT
========================= */
.bi-home .bi-contact{
  padding: 96px 0 120px;
  background:
    radial-gradient(1200px 520px at 50% 0%, rgba(226,194,122,.06), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.98), rgba(0,0,0,.92));
}

.bi-home .bi-contact__panel{
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 24px;
  align-items: stretch;
}

/* ===== 左：補足ボックス ===== */
.bi-home .bi-contact__note{
  border-radius: 22px;
  border: 1px solid rgba(202,161,90,.28);
  background:
    radial-gradient(900px 240px at 30% 0%, rgba(202,161,90,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.18));
  box-shadow: 0 18px 55px rgba(0,0,0,.38);
  padding: 22px;
}

.bi-home .bi-contact__h3{
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 900;
  color: rgba(255,255,255,.92);
}

.bi-home .bi-contact__list{
  margin: 0;
  padding-left: 1.2em;
  font-size: 14px;
  line-height: 1.9;
  color: rgba(255,255,255,.75);
}
.bi-home .bi-contact__list li{ margin: 6px 0; }

/* ===== 右：フォーム外枠 ===== */
.bi-home .bi-contact__form{
  border-radius: 22px;
  border: 1px solid rgba(202,161,90,.28);
  background:
    radial-gradient(900px 240px at 30% 0%, rgba(202,161,90,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.22));
  box-shadow: 0 18px 55px rgba(0,0,0,.38);
  padding: 22px;
}

/* ===== 既存 biaraba フォーム微調整 ===== */
.bi-home .biaraba-label{
  color: rgba(255,255,255,.85);
  font-weight: 700;
}

.bi-home .biaraba-input,
.bi-home .biaraba-select,
.bi-home .biaraba-textarea{
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(202,161,90,.35);
  color: rgba(255,255,255,.95);
}

.bi-home .biaraba-input::placeholder,
.bi-home .biaraba-textarea::placeholder{
  color: rgba(255,255,255,.45);
}

/* 送信ボタン */
.bi-home .biaraba-submit{
  height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid rgba(202,161,90,.8);
  background: linear-gradient(180deg, rgba(202,161,90,.25), rgba(202,161,90,.08));
  color: rgba(255,255,255,.95);
  font-weight: 900;
  letter-spacing: .08em;
  box-shadow: 0 18px 46px rgba(0,0,0,.45);
}

/* ===== SP ===== */
@media (max-width: 960px){
  .bi-home .bi-contact{
    padding: 64px 0 72px;
  }

  .bi-home .bi-contact__panel{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .bi-home .biaraba-submit{
    width: 100%;
  }
}
/* =========================
   BIARABA TOP / CONTACT
   フォーム中央寄せ FIX
========================= */

/* トップページでは1カラム中央寄せにする */
.bi-home .bi-contact__panel{
  display: flex !important;
  justify-content: center !important;
}

/* フォーム＋説明を中央にまとめる */
.bi-home .bi-contact__panel > *{
  max-width: 860px;
  width: 100%;
}

/* 「このような相談が多いです」も中央寄せ */
.bi-home .bi-contact__note,
.bi-home .bi-contact__form{
  margin: 0 auto;
}

/* 念のため：フォームの中身も中央基準 */
.bi-home .biaraba-form__inner{
  margin: 0 auto;
}

/* PCでもSPでもズレない */
@media (max-width: 960px){
  .bi-home .bi-contact__panel{
    padding: 0 16px;
  }
}
/* =========================
   BIARABA TOP / CONTACT
   「説明文の下に：相談カード → フォーム」縦積みFIX
   ========================= */

/* いま横並びになってる親を“縦積み”に強制 */
.bi-home .bi-contact__panel{
  display: flex !important;
  flex-direction: column !important;  /* ← これが本命 */
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 22px !important;
}

/* 中の各ブロック（相談カード / フォーム）を同じ幅で中央寄せ */
.bi-home .bi-contact__panel > *{
  width: min(860px, calc(100% - 44px)) !important;
  max-width: 860px !important;
  margin: 0 auto !important;
}

/* 相談カードを上に、フォームを下に（念のため順序固定） */
.bi-home .bi-contact__panel > :nth-child(1){ order: 1 !important; }
.bi-home .bi-contact__panel > :nth-child(2){ order: 2 !important; }

/* フォーム内の2カラム（名前/メール）は維持しつつ、崩れ防止 */
.bi-home .biaraba-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 16px !important;
}

/* SPはフォーム内も1カラム */
@media (max-width: 960px){
  .bi-home .bi-contact__panel > *{
    width: calc(100% - 32px) !important;
  }
  .bi-home .biaraba-grid{
    grid-template-columns: 1fr !important;
  }
}
/* =========================
   CONTACT 並び順 最終FIX
   ========================= */

/* お問い合わせセクション全体 */
.bi-home .bi-contact{
  display: flex;
  flex-direction: column;
  gap: 48px;
}

/* 並び順を明示的に指定 */
.bi-home .bi-contact .bi-contact-intro{
  order: 1; /* 見出し・説明文 */
}

.bi-home .bi-contact .bi-contact-samples{
  order: 2; /* このような相談が多いです */
}

.bi-home .bi-contact .bi-contact-form{
  order: 3; /* 問い合わせフォーム */
}

/* 念のため：横ズレ・中央寄せ */
.bi-home .bi-contact-samples,
.bi-home .bi-contact-form{
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
}

/* SPでも順番維持 */
@media (max-width: 960px){
  .bi-home .bi-contact{
    gap: 32px;
  }
}
/* =========================
   CONTACT：文言 → フォーム 縦積みFIX
   ========================= */

.bi-contact__panel{
  display: flex !important;
  flex-direction: column !important; /* ← 横並びを殺す */
  gap: 40px;
  max-width: 960px;
  margin: 0 auto;
}

/* 上：相談例 */
.bi-contact__note{
  order: 1;
  width: 100%;
}

/* 下：フォーム */
.bi-contact__form{
  order: 2;
  width: 100%;
}

/* フォーム内も中央寄せ */
.bi-contact__form .wpcf7{
  margin: 0 auto;
}

/* SPでも順序固定 */
@media (max-width: 960px){
  .bi-contact__panel{
    gap: 28px;
  }
}
/* =========================
   BIARABA / RENTAL
   STORE（設備案内セクション）
   ========================= */

.bi-store { padding-top: clamp(36px, 5vw, 64px); }

.bi-rail{
  text-align:center;
  margin-bottom: clamp(18px, 3vw, 28px);
}
.bi-rail__en{
  font-weight: 800;
  letter-spacing: .12em;
  color: rgba(255,255,255,.86);
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.1;
  margin: 0;
}
.bi-rail__en::after{
  content:"";
  display:block;
  width: min(520px, 92%);
  height: 1px;
  margin: 14px auto 0;
  background: linear-gradient(90deg, transparent, var(--bi-line), transparent);
}
.bi-rail__jp{
  margin-top: 18px;
  font-weight: 700;
  color: rgba(255,255,255,.78);
  font-size: 18px;
}

.bi-store__grid{
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(18px, 3vw, 34px);
  align-items: start;
}

.bi-store__left{
  background: var(--bi-panel);
  border: 1px solid rgba(202,161,90,.28);
  border-radius: var(--bi-radius, 18px);
  padding: clamp(18px, 2.6vw, 26px);
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}

.bi-store__list{
  margin: 0;
  padding-left: 1.1em;
  color: rgba(255,255,255,.86);
  line-height: 1.9;
  font-size: 15px;
}
.bi-store__list li{ margin: 0 0 8px; }
.bi-store__list li::marker{ color: rgba(202,161,90,.9); }

.bi-store__btnwrap{
  margin-top: 18px;
  display: flex;
  justify-content: center;
}
.bi-store__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(420px, 100%);
  padding: 14px 18px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none;
  color: rgba(0,0,0,.9);
  background: linear-gradient(90deg, #7ed957, #9be66e);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
  transition: transform .12s ease, filter .12s ease;
}
.bi-store__btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.bi-store__right{
  margin: 0;
  border-radius: var(--bi-radius, 18px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
}
.bi-store__right img{
  width: 100%;
  height: auto;
  display: block;
  transform: scale(1.001);
}

/* responsive */
@media (max-width: 900px){
  .bi-store__grid{ grid-template-columns: 1fr; }
  .bi-store__right{ order: -1; }
}
/* =========================
   BIARABA / RENTAL
   POINTS & GUIDE
   ========================= */

/* 見出しレール（STORE/POINTS/GUIDE共通で使える） */
.bi-rail{
  text-align:center;
  margin-bottom: clamp(18px, 3vw, 28px);
}
.bi-rail__en{
  font-weight: 800;
  letter-spacing: .12em;
  color: rgba(255,255,255,.86);
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.1;
  margin: 0;
}
.bi-rail__en::after{
  content:"";
  display:block;
  width: min(520px, 92%);
  height: 1px;
  margin: 14px auto 0;
  background: linear-gradient(90deg, transparent, var(--bi-line), transparent);
}
.bi-rail__jp{
  margin-top: 18px;
  font-weight: 700;
  color: rgba(255,255,255,.78);
  font-size: 18px;
}

/* -------- POINTS -------- */
.bi-points__grid{
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(18px, 3vw, 34px);
  align-items: start;
}

.bi-points__left{
  background: var(--bi-panel);
  border: 1px solid rgba(202,161,90,.28);
  border-radius: var(--bi-radius, 18px);
  padding: clamp(18px, 2.6vw, 26px);
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}

.bi-points__list{
  margin: 0;
  padding-left: 1.1em;
  color: rgba(255,255,255,.86);
  line-height: 1.95;
  font-size: 15px;
}
.bi-points__list li{ margin: 0 0 10px; }
.bi-points__list li::marker{ color: rgba(202,161,90,.9); }

.bi-note{
  margin-top: 16px;
  padding: 14px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.08);
}
.bi-note__p{
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.7;
}

.bi-points__right{
  margin: 0;
  border-radius: var(--bi-radius, 18px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
}
.bi-points__right img{
  width: 100%;
  height: auto;
  display: block;
}

/* -------- GUIDE -------- */
.bi-guide__card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.18));
  border: 1px solid rgba(202,161,90,.28);
  border-radius: var(--bi-radius, 18px);
  padding: clamp(18px, 2.8vw, 28px);
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
}

.bi-guide__h{
  margin: 0 0 14px;
  color: rgba(255,255,255,.92);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: .04em;
}

.bi-steps{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.bi-step{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.08);
}

.bi-step__num{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-weight: 900;
  color: rgba(0,0,0,.88);
  background: linear-gradient(180deg, var(--bi-gold2), var(--bi-gold));
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
}

.bi-step__title{
  color: rgba(255,255,255,.92);
  font-weight: 800;
  font-size: 15px;
  margin: 1px 0 4px;
}
.bi-step__desc{
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.7;
}

.bi-guide__cta{
  margin-top: 18px;
  display: flex;
  justify-content: center;
}

.bi-guide__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(420px, 100%);
  padding: 14px 18px;
  border-radius: 12px;
  font-weight: 900;
  text-decoration: none;
  color: rgba(0,0,0,.9);
  background: linear-gradient(90deg, var(--bi-gold2), var(--bi-gold));
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
  transition: transform .12s ease, filter .12s ease;
}
.bi-guide__btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

/* responsive */
@media (max-width: 900px){
  .bi-points__grid{ grid-template-columns: 1fr; }
  .bi-points__right{ order: -1; }
}
/* =========================
   STORE / POINTS 横並びレイアウト
   ========================= */

.bi-media{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(20px, 4vw, 48px);
  align-items: center;
}

/* 画像 */
.bi-media__img{
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 14px 36px rgba(0,0,0,.35);
}
.bi-media__img img{
  width: 100%;
  height: auto;
  display: block;
}

/* 文章カード */
.bi-media__body{
  background: var(--bi-panel);
  border: 1px solid rgba(202,161,90,.28);
  border-radius: 18px;
  padding: clamp(18px, 3vw, 28px);
  box-shadow: 0 10px 26px rgba(0,0,0,.25);
}

/* リスト共通 */
.bi-store__list,
.bi-points__list{
  margin: 0;
  padding-left: 1.1em;
  line-height: 1.9;
  color: rgba(255,255,255,.86);
  font-size: 15px;
}
.bi-store__list li,
.bi-points__list li{
  margin-bottom: 10px;
}
.bi-store__list li::marker,
.bi-points__list li::marker{
  color: rgba(202,161,90,.9);
}

/* 注意書き */
.bi-note{
  margin-top: 16px;
  padding: 14px;
  font-size: 13px;
  color: rgba(255,255,255,.7);
  background: rgba(0,0,0,.28);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
}

/* SP */
@media (max-width: 900px){
  .bi-media{
    grid-template-columns: 1fr;
  }
}
/* =========================
   FINAL FIX：POINTSを強制で2カラム
   ========================= */
@media (min-width: 901px){
  .bi-points__grid{
    display: grid !important;
    grid-template-columns: 1fr 1.05fr !important;
    gap: clamp(18px, 3vw, 34px) !important;
    align-items: start !important;
  }
  .bi-points__left,
  .bi-points__right{
    width: auto !important;
    max-width: none !important;
    float: none !important;
  }
  .bi-points__left{ grid-column: 1 !important; }
  .bi-points__right{ grid-column: 2 !important; }
}
/* =========================
   FINAL FINISH：
   POINTS 左右の高さを揃える
   ========================= */

@media (min-width: 901px){
  /* グリッドの各カラムを同じ高さに */
  .bi-points__grid{
    align-items: stretch !important;
  }

  /* 左右カードを100%高さに */
  .bi-points__left,
  .bi-points__right{
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* 画像をカード高さいっぱいにフィット */
  .bi-points__right img{
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }
}
/* =========================
   POINTS：画像と文章の高さを完全一致（追記専用）
   これを追加CSSの一番下に貼る
   ========================= */
@media (min-width: 901px){
  /* 行の高さ＝高い方に合わせて、両方ストレッチ */
  .bi-points__grid{
    align-items: stretch !important;
  }

  /* 右のfigure自体を行高まで伸ばす */
  .bi-points__right{
    align-self: stretch !important;
    display: flex !important;
    min-height: 0 !important;
  }

  /* imgをfigureの高さいっぱいに伸ばしてトリミング */
  .bi-points__right img{
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    min-height: 0 !important;
    display: block !important;
  }
}
/* =========================
   FINAL FIX（POINTS専用）
   左：文章 / 右：画像
   高さも完全に揃える
   ※レンタルページ限定
   ========================= */
@media (min-width: 901px){
  body:has(.bi-rental) .bi-points__grid{
    display: flex !important;
    gap: clamp(18px, 3vw, 34px) !important;
    align-items: stretch !important;
  }

  body:has(.bi-rental) .bi-points__left{
    flex: 1 1 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body:has(.bi-rental) .bi-points__right{
    flex: 1.05 1 0 !important;
    display: flex !important;
    align-self: stretch !important;
    margin: 0 !important;
  }

  body:has(.bi-rental) .bi-points__right img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
}
/* =========================
   RENTAL：PCの左右余白を消す
   ========================= */
@media (min-width: 1024px){
  body:has(.bi-rental) .l-container{
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  body:has(.bi-rental) .l-container > *{
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
}
/* RENTAL：ページタイトルエリアを完全に無効化して真っ黒にする */
body:has(.bi-rental) .c-pageTitle{
  display: none !important;
}
/* RENTAL：パンくず（ホーム > …）を消す */
body:has(.bi-rental) .p-breadcrumb,
body:has(.bi-rental) .c-breadcrumb{
  display:none !important;
}
/* =========================
   BIARABA / COMPANY (208)
   会社情報ページ：挨拶 / プロフィール / 会社概要 / フォーム
   ========================= */

body:is(.page-id-208,.postid-208){
  --bi-gold:#caa15a;
  --bi-gold-soft:rgba(202,161,90,.55);
  --bi-bg:#070707;
  --bi-panel:rgba(255,255,255,.06);
  --bi-text:rgba(255,255,255,.92);
  --bi-sub:rgba(255,255,255,.70);
  --bi-line:rgba(255,255,255,.10);
}

/* 基本 */
body:is(.page-id-208,.postid-208) .bi-company{ color:var(--bi-text); }
body:is(.page-id-208,.postid-208) .bi-inner{ max-width: 1100px; margin:0 auto; padding: 0 16px; }

body:is(.page-id-208,.postid-208) .bi-eyebrow{
  text-align:center;
  letter-spacing:.18em;
  color:var(--bi-gold);
  font-size: 12px;
  margin:0;
}

/* HERO */
body:is(.page-id-208,.postid-208) .bi-companyHero{
  padding: clamp(72px, 10vw, 120px) 0;
  background:
    radial-gradient(60% 80% at 50% 0%, rgba(202,161,90,.18), transparent 60%),
    linear-gradient(to bottom, rgba(0,0,0,.2), rgba(0,0,0,.85));
}
body:is(.page-id-208,.postid-208) .bi-h1{
  font-size: clamp(28px, 4vw, 44px);
  margin: 10px 0 10px;
  text-align:center;
}
body:is(.page-id-208,.postid-208) .bi-lead{
  text-align:center;
  color:var(--bi-sub);
  line-height: 1.9;
}

/* Section spacing */
body:is(.page-id-208,.postid-208) .bi-companySec{
  padding: clamp(56px, 9vw, 110px) 0;
}

/* Titles */
body:is(.page-id-208,.postid-208) .bi-secTitle{
  text-align:center;
  margin-bottom: 26px;
}
body:is(.page-id-208,.postid-208) .bi-h2{
  font-size: clamp(22px, 3vw, 34px);
  margin: 0;
}
body:is(.page-id-208,.postid-208) .bi-secSub{
  margin: 8px 0 0;
  letter-spacing: .16em;
  color: var(--bi-gold);
  font-size: 13px;
}

/* Card */
body:is(.page-id-208,.postid-208) .bi-card{
  background: var(--bi-panel);
  border: 1px solid var(--bi-gold-soft);
  border-radius: 24px;
  padding: clamp(22px, 4vw, 48px);
  box-shadow: 0 18px 55px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.02);
}

/* H3 */
body:is(.page-id-208,.postid-208) .bi-h3{
  margin: 0 0 16px;
  font-size: 18px;
  letter-spacing: .02em;
}

/* Prose */
body:is(.page-id-208,.postid-208) .bi-prose p{
  line-height: 1.95;
  margin: 0 0 16px;
  color: var(--bi-text);
}
body:is(.page-id-208,.postid-208) .bi-quote{
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 2px solid var(--bi-gold);
  background: rgba(0,0,0,.25);
  border-radius: 12px;
}
body:is(.page-id-208,.postid-208) .bi-sign{
  margin-top: 18px;
  color: var(--bi-sub);
}

/* Profile */
body:is(.page-id-208,.postid-208) .bi-profile208{
  display:grid;
  grid-template-columns: minmax(220px, 320px) 1fr;
  gap: clamp(20px, 4vw, 44px);
  align-items:flex-start;
}
body:is(.page-id-208,.postid-208) .bi-profile208__media{
  display:none; /* 写真が入るまで非表示 */
}
body:is(.page-id-208,.postid-208) .bi-profile208__photo{
  width:100%;
  aspect-ratio: 3/4;
  object-fit:cover;
  border-radius:18px;
  box-shadow: 0 12px 30px rgba(0,0,0,.6);
}
body:is(.page-id-208,.postid-208) .bi-profile208__company{
  font-size: 12px;
  letter-spacing: .15em;
  color: var(--bi-gold);
  margin: 0 0 6px;
}
body:is(.page-id-208,.postid-208) .bi-profile208__name{
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  margin: 0 0 18px;
}
body:is(.page-id-208,.postid-208) .bi-strongLine{
  margin-top: 22px;
  padding-left: 16px;
  border-left: 2px solid var(--bi-gold);
  color:#fff;
  font-weight:600;
}

/* Lists */
body:is(.page-id-208,.postid-208) .bi-listDash{
  list-style:none;
  padding-left: 0;
  margin: 16px 0 20px;
}
body:is(.page-id-208,.postid-208) .bi-listDash li{
  position:relative;
  padding-left: 20px;
  margin: 0 0 10px;
  color: var(--bi-sub);
}
body:is(.page-id-208,.postid-208) .bi-listDash li::before{
  content:"—";
  position:absolute;
  left:0;
  color:var(--bi-gold);
}
body:is(.page-id-208,.postid-208) .bi-listDot li{
  color: var(--bi-sub);
  line-height: 1.8;
}

/* Table */
body:is(.page-id-208,.postid-208) .bi-table{
  width:100%;
  border-collapse: collapse;
  overflow:hidden;
  border-radius: 16px;
}
body:is(.page-id-208,.postid-208) .bi-table th,
body:is(.page-id-208,.postid-208) .bi-table td{
  padding: 18px 16px;
  border: 1px solid var(--bi-line);
  vertical-align: top;
}
body:is(.page-id-208,.postid-208) .bi-table th{
  width: 28%;
  color: var(--bi-sub);
  font-weight: 600;
  background: rgba(0,0,0,.22);
}
body:is(.page-id-208,.postid-208) .bi-table td{
  color: var(--bi-text);
}
body:is(.page-id-208,.postid-208) .bi-table a{
  color: var(--bi-gold);
  text-decoration: underline;
}

/* Buttons */
body:is(.page-id-208,.postid-208) .bi-miniCta{
  margin-top: 22px;
}
body:is(.page-id-208,.postid-208) .bi-btn{
  display:inline-block;
  padding: 12px 26px;
  border-radius: 999px;
  border: 1px solid var(--bi-gold);
  color: var(--bi-gold);
  text-decoration:none;
  transition: .25s ease;
}
body:is(.page-id-208,.postid-208) .bi-btn:hover{
  background: var(--bi-gold);
  color:#000;
}

/* Contact layout */
body:is(.page-id-208,.postid-208) .bi-contactGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 22px;
}
@media (max-width: 900px){
  body:is(.page-id-208,.postid-208) .bi-contactGrid{
    grid-template-columns: 1fr;
  }
  body:is(.page-id-208,.postid-208) .bi-profile208{
    grid-template-columns: 1fr;
  }
}

/* =========================
   CF7フォーム（参考デザイン）
   ========================= */

body:is(.page-id-208,.postid-208) .wpcf7 form{
  margin-top: 8px;
}

/* 参考のクラスがフォームに入っている前提（biaraba-xxx） */
body:is(.page-id-208,.postid-208) .biaraba-form__inner{
  position: relative;
  padding: clamp(18px, 3vw, 28px);
  border-radius: 18px;
  border: 1px solid rgba(202,161,90,.45);
  background: rgba(0,0,0,.22);
  overflow: hidden;
}

body:is(.page-id-208,.postid-208) .biaraba-form__stripe{
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(
    135deg,
    rgba(255,255,255,.04) 0px,
    rgba(255,255,255,.04) 10px,
    rgba(0,0,0,0) 10px,
    rgba(0,0,0,0) 22px
  );
  opacity: .35;
  pointer-events: none;
}

body:is(.page-id-208,.postid-208) .biaraba-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 900px){
  body:is(.page-id-208,.postid-208) .biaraba-grid{
    grid-template-columns: 1fr;
  }
}

body:is(.page-id-208,.postid-208) .biaraba-label{
  display:block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.78);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .04em;
}

body:is(.page-id-208,.postid-208) .biaraba-input,
body:is(.page-id-208,.postid-208) .biaraba-select,
body:is(.page-id-208,.postid-208) .biaraba-textarea{
  width: 100%;
  box-sizing: border-box;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.35);
  color: rgba(255,255,255,.92);
  padding: 14px 14px;
  outline: none;
}

body:is(.page-id-208,.postid-208) .biaraba-textarea{
  min-height: 180px;
  resize: vertical;
}

body:is(.page-id-208,.postid-208) .biaraba-input:focus,
body:is(.page-id-208,.postid-208) .biaraba-select:focus,
body:is(.page-id-208,.postid-208) .biaraba-textarea:focus{
  border-color: rgba(202,161,90,.75);
  box-shadow: 0 0 0 3px rgba(202,161,90,.18);
}

body:is(.page-id-208,.postid-208) .biaraba-actions{
  display:flex;
  align-items:center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 10px;
}

body:is(.page-id-208,.postid-208) .biaraba-submit{
  appearance:none;
  border: 1px solid var(--bi-gold);
  background: transparent;
  color: var(--bi-gold);
  padding: 12px 26px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .06em;
  transition: .25s ease;
}

body:is(.page-id-208,.postid-208) .biaraba-submit:hover{
  background: var(--bi-gold);
  color:#000;
}

body:is(.page-id-208,.postid-208) .biaraba-note{
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 13px;
}

/* CF7 errors */
body:is(.page-id-208,.postid-208) .wpcf7-not-valid-tip{
  color: rgba(255,180,180,.95);
  margin-top: 6px;
  font-size: 13px;
}
body:is(.page-id-208,.postid-208) .wpcf7 form .wpcf7-response-output{
  margin: 16px 0 0;
  border-radius: 14px;
  padding: 14px 14px;
  color: rgba(255,255,255,.9);
  border: 1px solid rgba(202,161,90,.45);
  background: rgba(0,0,0,.35);
}
/* =========================
   BIARABA / COMPANY 208
   テーマ装飾の無効化
   ========================= */

/* ページタイトル周りの余計な装飾を消す */
body.page-id-208 .c-pageTitle,
body.page-id-208 .c-heading,
body.page-id-208 .is-style-default {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* 「代表挨拶」などテーマの色帯を消す */
body.page-id-208 .wp-block-heading {
  background: transparent !important;
  padding: 0 !important;
}

/* サイドバーが残ってた場合も保険で消す */
body.page-id-208 .l-sidebar {
  display: none;
}
body.page-id-208 .l-content {
  width: 100%;
}

/* パンくず下から世界観を切り替える */
body.page-id-208 .l-main {
  background: #070707;
}

/* 記事本文エリアの最大幅を広げる */
body.page-id-208 .l-main .l-article {
  max-width: 100%;
  padding: 0;
}
/* =========================
   BIARABA / COMPANY (208)
   黒×金を「ページ全体」に適用して勝たせる
   ========================= */
body:is(.page-id-208,.postid-208){
  --bi-gold:#caa15a;
  --bi-gold-soft:rgba(202,161,90,.55);
  --bi-bg:#070707;
  --bi-panel:rgba(255,255,255,.06);
  --bi-text:rgba(255,255,255,.92);
  --bi-sub:rgba(255,255,255,.70);
  --bi-line:rgba(255,255,255,.10);
}

/* 1) まず“白い土台”を消す（ここが肝） */
body:is(.page-id-208,.postid-208),
body:is(.page-id-208,.postid-208) #content,
body:is(.page-id-208,.postid-208) #content *,
body:is(.page-id-208,.postid-208) .l-main,
body:is(.page-id-208,.postid-208) .l-mainContent,
body:is(.page-id-208,.postid-208) .l-content,
body:is(.page-id-208,.postid-208) .l-article,
body:is(.page-id-208,.postid-208) .c-entry,
body:is(.page-id-208,.postid-208) .c-entry__content,
body:is(.page-id-208,.postid-208) .entry-content{
  background-color: transparent;
}

body:is(.page-id-208,.postid-208) .l-main{
  background: var(--bi-bg) !important;
  color: var(--bi-text);
}

/* 2) 本文テキスト/リンクを黒×金に統一 */
body:is(.page-id-208,.postid-208) .l-main,
body:is(.page-id-208,.postid-208) .l-main p,
body:is(.page-id-208,.postid-208) .l-main li,
body:is(.page-id-208,.postid-208) .l-main dt,
body:is(.page-id-208,.postid-208) .l-main dd{
  color: var(--bi-text);
}

body:is(.page-id-208,.postid-208) .l-main a{
  color: var(--bi-gold);
}
body:is(.page-id-208,.postid-208) .l-main a:hover{
  opacity: .85;
}

/* 3) テーマの見出し装飾（オレンジ帯など）を殺す */
body:is(.page-id-208,.postid-208) .wp-block-heading,
body:is(.page-id-208,.postid-208) .c-heading,
body:is(.page-id-208,.postid-208) .c-pageTitle,
body:is(.page-id-208,.postid-208) .c-pageTitle__title{
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* 4) サイドバーが出るなら強制で消す（保険） */
body:is(.page-id-208,.postid-208) .l-sidebar{
  display:none !important;
}
body:is(.page-id-208,.postid-208) .l-content{
  width:100% !important;
  max-width: 100% !important;
}

/* 5) bi-company の中身を“金で締める” */
body:is(.page-id-208,.postid-208) .bi-company{
  color: var(--bi-text);
}

/* HERO（黒×金の発光） */
body:is(.page-id-208,.postid-208) .bi-companyHero{
  padding: clamp(72px, 10vw, 120px) 0;
  background:
    radial-gradient(60% 80% at 50% 0%, rgba(202,161,90,.18), transparent 60%),
    linear-gradient(to bottom, rgba(0,0,0,.2), rgba(0,0,0,.92));
}

/* 見出し */
body:is(.page-id-208,.postid-208) .bi-eyebrow{
  text-align:center;
  letter-spacing:.18em;
  color:var(--bi-gold);
  font-size: 12px;
}
body:is(.page-id-208,.postid-208) .bi-h1{
  text-align:center;
  font-size: clamp(28px, 4vw, 44px);
  margin: 10px 0 10px;
}
body:is(.page-id-208,.postid-208) .bi-lead{
  text-align:center;
  color:var(--bi-sub);
  line-height: 1.9;
}

/* セクション */
body:is(.page-id-208,.postid-208) .bi-companySec{
  padding: clamp(56px, 9vw, 110px) 0;
}
body:is(.page-id-208,.postid-208) .bi-secTitle{
  text-align:center;
  margin-bottom: 26px;
}
body:is(.page-id-208,.postid-208) .bi-h2{
  font-size: clamp(22px, 3vw, 34px);
  margin: 0;
}
body:is(.page-id-208,.postid-208) .bi-secSub{
  margin: 8px 0 0;
  letter-spacing: .16em;
  color: var(--bi-gold);
  font-size: 13px;
}

/* カード（黒×金） */
body:is(.page-id-208,.postid-208) .bi-card{
  background: var(--bi-panel) !important;
  border: 1px solid var(--bi-gold-soft);
  border-radius: 24px;
  padding: clamp(22px, 4vw, 48px);
  box-shadow: 0 18px 55px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.02);
}

/* 文章 */
body:is(.page-id-208,.postid-208) .bi-prose p{
  line-height: 1.95;
  margin: 0 0 16px;
  color: var(--bi-text);
}
body:is(.page-id-208,.postid-208) .bi-quote{
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 2px solid var(--bi-gold);
  background: rgba(0,0,0,.25);
  border-radius: 12px;
}
body:is(.page-id-208,.postid-208) .bi-sign{
  margin-top: 18px;
  color: var(--bi-sub);
}

/* 会社概要テーブル */
body:is(.page-id-208,.postid-208) .bi-table{
  width:100%;
  border-collapse: collapse;
  overflow:hidden;
  border-radius: 16px;
}
body:is(.page-id-208,.postid-208) .bi-table th,
body:is(.page-id-208,.postid-208) .bi-table td{
  padding: 18px 16px;
  border: 1px solid var(--bi-line);
  vertical-align: top;
}
body:is(.page-id-208,.postid-208) .bi-table th{
  width: 28%;
  color: var(--bi-sub);
  font-weight: 600;
  background: rgba(0,0,0,.22);
}
body:is(.page-id-208,.postid-208) .bi-table td{
  color: var(--bi-text);
}
body:is(.page-id-208,.postid-208){
  background: #070707 !important;
}
/* =========================
   BIARABA / COMPANY
   page-id依存なし：.bi-company がある場所だけ確実に黒×金
   ========================= */

/* 1) bi-company 自体を「全幅の黒背景」にする（テーマの白に勝つ） */
.bi-company{
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
  background: #070707 !important;
  color: rgba(255,255,255,.92) !important;
}

/* 中身の幅を整える */
.bi-company .bi-inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}

/* 2) bi-company 内のテキスト/リンク */
.bi-company p,
.bi-company li,
.bi-company dt,
.bi-company dd{
  color: rgba(255,255,255,.92) !important;
}
.bi-company a{
  color: #caa15a !important;
}

/* 3) HERO */
.bi-company .bi-companyHero{
  padding: clamp(72px, 10vw, 120px) 0;
  background:
    radial-gradient(60% 80% at 50% 0%, rgba(202,161,90,.18), transparent 60%),
    linear-gradient(to bottom, rgba(0,0,0,.2), rgba(0,0,0,.92));
}

/* 見出し */
.bi-company .bi-eyebrow{
  text-align:center;
  letter-spacing:.18em;
  color:#caa15a !important;
  font-size:12px;
  margin:0;
}
.bi-company .bi-h1{
  text-align:center;
  font-size: clamp(28px, 4vw, 44px);
  margin: 10px 0 10px;
  color: rgba(255,255,255,.92) !important;
}
.bi-company .bi-lead{
  text-align:center;
  color: rgba(255,255,255,.70) !important;
  line-height: 1.9;
}

/* section */
.bi-company .bi-companySec{
  padding: clamp(56px, 9vw, 110px) 0;
}
.bi-company .bi-secTitle{
  text-align:center;
  margin-bottom: 26px;
}
.bi-company .bi-h2{
  font-size: clamp(22px, 3vw, 34px);
  margin: 0;
  color: rgba(255,255,255,.92) !important;
}
.bi-company .bi-secSub{
  margin: 8px 0 0;
  letter-spacing: .16em;
  color: #caa15a !important;
  font-size: 13px;
}

/* 4) カード（黒×金の核） */
.bi-company .bi-card{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(202,161,90,.55) !important;
  border-radius: 24px;
  padding: clamp(22px, 4vw, 48px);
  box-shadow: 0 18px 55px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.02);
}

/* prose */
.bi-company .bi-prose p{
  line-height: 1.95;
  margin: 0 0 16px;
}
.bi-company .bi-quote{
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 2px solid #caa15a;
  background: rgba(0,0,0,.25);
  border-radius: 12px;
}
.bi-company .bi-sign{
  margin-top: 18px;
  color: rgba(255,255,255,.70) !important;
}

/* 5) 「オレンジ帯（代表挨拶）」を無効化したい場合の保険
   ※ .bi-company の外にある見出しブロックには影響しない */
.bi-company .wp-block-heading{
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* 6) profile */
.bi-company .bi-profile208{
  display:grid;
  grid-template-columns: minmax(220px, 320px) 1fr;
  gap: clamp(20px, 4vw, 44px);
  align-items:flex-start;
}
.bi-company .bi-profile208__media{ display:none; } /* 写真入れるまで非表示 */
.bi-company .bi-profile208__company{
  font-size:12px;
  letter-spacing:.15em;
  color:#caa15a !important;
  margin: 0 0 6px;
}
.bi-company .bi-profile208__name{
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 600;
  margin: 0 0 18px;
}
.bi-company .bi-listDash{
  list-style:none;
  padding-left:0;
  margin: 16px 0 20px;
}
.bi-company .bi-listDash li{
  position:relative;
  padding-left:20px;
  margin:0 0 10px;
  color: rgba(255,255,255,.70) !important;
}
.bi-company .bi-listDash li::before{
  content:"—";
  position:absolute;
  left:0;
  color:#caa15a;
}
.bi-company .bi-strongLine{
  margin-top: 22px;
  padding-left: 16px;
  border-left: 2px solid #caa15a;
  color:#fff !important;
  font-weight:600;
}

/* 7) table */
.bi-company .bi-table{
  width:100%;
  border-collapse: collapse;
  overflow:hidden;
  border-radius: 16px;
}
.bi-company .bi-table th,
.bi-company .bi-table td{
  padding: 18px 16px;
  border: 1px solid rgba(255,255,255,.10);
  vertical-align: top;
}
.bi-company .bi-table th{
  width: 28%;
  color: rgba(255,255,255,.70) !important;
  font-weight: 600;
  background: rgba(0,0,0,.22) !important;
}

/* 8) contact grid */
.bi-company .bi-contactGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 22px;
}
@media (max-width: 900px){
  .bi-company .bi-contactGrid{ grid-template-columns: 1fr; }
  .bi-company .bi-profile208{ grid-template-columns: 1fr; }
}

/* 9) CF7（biaraba-クラスがフォーム内にある前提） */
.bi-company .biaraba-form__inner{
  position: relative;
  padding: clamp(18px, 3vw, 28px);
  border-radius: 18px;
  border: 1px solid rgba(202,161,90,.45);
  background: rgba(0,0,0,.22);
  overflow: hidden;
}
.bi-company .biaraba-form__stripe{
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(
    135deg,
    rgba(255,255,255,.04) 0px,
    rgba(255,255,255,.04) 10px,
    rgba(0,0,0,0) 10px,
    rgba(0,0,0,0) 22px
  );
  opacity: .35;
  pointer-events: none;
}
.bi-company .biaraba-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 900px){
  .bi-company .biaraba-grid{ grid-template-columns: 1fr; }
}
.bi-company .biaraba-label{
  display:block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.78);
  font-weight: 600;
  font-size: 14px;
}
.bi-company .biaraba-input,
.bi-company .biaraba-select,
.bi-company .biaraba-textarea{
  width:100%;
  box-sizing:border-box;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.35);
  color: rgba(255,255,255,.92);
  padding: 14px;
  outline:none;
}
.bi-company .biaraba-textarea{ min-height: 180px; resize: vertical; }
.bi-company .biaraba-input:focus,
.bi-company .biaraba-select:focus,
.bi-company .biaraba-textarea:focus{
  border-color: rgba(202,161,90,.75);
  box-shadow: 0 0 0 3px rgba(202,161,90,.18);
}
.bi-company .biaraba-actions{
  display:flex;
  align-items:center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.bi-company .biaraba-submit{
  appearance:none;
  border: 1px solid #caa15a;
  background: transparent;
  color: #caa15a;
  padding: 12px 26px;
  border-radius: 999px;
  cursor:pointer;
  font-weight:700;
  transition:.25s ease;
}
.bi-company .biaraba-submit:hover{
  background:#caa15a;
  color:#000;
}
.bi-company .biaraba-note{
  margin:0;
  color: rgba(255,255,255,.62);
  font-size: 13px;
}
/* =========================
   COMPANY 冒頭コピーをタグライン化
   ========================= */
.bi-company .bi-lead{
  font-size: clamp(20px, 2.6vw, 28px);
  font-weight: 700;
  letter-spacing: .04em;
  margin-top: 18px;
  margin-bottom: 0;
  color: rgba(255,255,255,.95);
}

/* 2行表示でも締まるように */
.bi-company .bi-lead br{
  display: block;
  content: "";
  margin-bottom: 6px;
}
/* =========================
   COMPANY HERO / VIDEO BG
   ========================= */

/* HEROを動画用の器に */
.bi-companyHero{
  position: relative;
  overflow: hidden;
}

/* 動画ラッパー */
.bi-companyHero__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

/* 動画本体 */
.bi-companyHero__video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 黒グラデの被せ（可読性の要） */
.bi-companyHero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.55),
      rgba(0,0,0,.85)
    );
  z-index: 1;
}

/* 中のテキストを最前面に */
.bi-companyHero > *{
  position: relative;
  z-index: 2;
}
/* =========================
   COMPANY HERO 動画が映らない時の復旧パッチ
   （子要素一括指定の上書き対策）
   ========================= */

/* 背景は絶対配置で固定 */
.bi-companyHero{
  position: relative;
  overflow: hidden;
}

.bi-companyHero__bg{
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

.bi-companyHero__video{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 黒グラデは動画の上 */
.bi-companyHero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index: 1 !important;
  background: linear-gradient(to bottom, rgba(0,0,0,.45), rgba(0,0,0,.85));
}

/* テキストは最前面（ここだけ） */
.bi-companyHero__inner{
  position: relative !important;
  z-index: 2 !important;
}
/* =========================
   COMPANY 208 / ORANGE BAR KILL PATCH
   見出しの“親ブロック”に入ってる背景色まで殺す（最後に追記）
   ========================= */
body.page-id-208 .entry-content .has-background,
body.page-id-208 .entry-content .wp-block-group.has-background,
body.page-id-208 .entry-content .wp-block-columns.has-background,
body.page-id-208 .entry-content .wp-block-column.has-background,
body.page-id-208 .entry-content .wp-block-cover,
body.page-id-208 .entry-content .wp-block-cover__inner-container,
body.page-id-208 .entry-content .swell-block-fullWide,
body.page-id-208 .entry-content .swell-block-section,
body.page-id-208 .entry-content .is-style-swell-section{
  background: transparent !important;
  background-color: transparent !important;
}

/* インラインstyleで塗られてる背景も殺す（これが決定打） */
body.page-id-208 .entry-content [style*="background"],
body.page-id-208 .entry-content [style*="background-color"]{
  background: transparent !important;
  background-color: transparent !important;
}

/* 見出し自体も念のため */
body.page-id-208 .entry-content h1,
body.page-id-208 .entry-content h2,
body.page-id-208 .entry-content h3,
body.page-id-208 .entry-content .wp-block-heading{
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* SWELLが入れる“帯っぽい装飾”を無効化（保険） */
body.page-id-208 .entry-content .c-heading,
body.page-id-208 .entry-content .c-pageTitle,
body.page-id-208 .entry-content .c-pageTitle__title{
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
/* =========================
   COMPANY 208: オレンジ帯（SWELL装飾見出し）を完全に無効化
   ========================= */
body.page-id-208 .wp-block-heading{
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 見出しに付与されがちな装飾クラス（SWELL/ブロックスタイル）を殺す */
body.page-id-208 .wp-block-heading[class*="is-style"],
body.page-id-208 .wp-block-heading[class*="swell"],
body.page-id-208 .wp-block-heading[class*="swl"]{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 疑似要素で帯・ラインを作ってるケースの保険 */
body.page-id-208 .wp-block-heading::before,
body.page-id-208 .wp-block-heading::after{
  content: none !important;
  display: none !important;
}

/* 見出しの「親」に背景が付いてるパターン（これが本丸） */
body.page-id-208 .wp-block-heading:where(
  .has-background,
  [style*="background"],
  [style*="background-color"]
){
  background: transparent !important;
}

/* 見出しを包むgroup/columns/cover側に背景が付いてる時も消す */
body.page-id-208 .entry-content .wp-block-group.has-background,
body.page-id-208 .entry-content .wp-block-columns.has-background,
body.page-id-208 .entry-content .wp-block-cover{
  background: transparent !important;
}
body.page-id-208 .entry-content .wp-block-group[style*="background"],
body.page-id-208 .entry-content .wp-block-columns[style*="background"],
body.page-id-208 .entry-content [style*="background-color"]{
  background: transparent !important;
}
body.page-id-208 .no-band{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
body.page-id-208 .no-band::before,
body.page-id-208 .no-band::after{
  content:none !important;
  display:none !important;
}
/* =========================================================
   BIARABA：H2の「オレンジ帯（SWELL見出し装飾）」を
   黒×金テイスト（白文字＋金ライン）に統一する
   ※追加CSSの一番下に貼る
   ========================================================= */

/* 0) まず“帯”を作ってる背景/枠/影/疑似要素を殺す（ここが本命） */
.entry-content h2,
.post_content h2,
.p-entry__body h2,
.entry-content .wp-block-heading,
.post_content .wp-block-heading{
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;         /* 帯の余白を消す */
  -webkit-text-fill-color: currentColor !important;
}

/* SWELLが疑似要素で帯/ラインを作ってるケースの保険 */
.entry-content h2::before,
.entry-content h2::after,
.post_content h2::before,
.post_content h2::after,
.entry-content .wp-block-heading::before,
.entry-content .wp-block-heading::after,
.post_content .wp-block-heading::before,
.post_content .wp-block-heading::after{
  content: none !important;
  display: none !important;
}

/* 見出しの「親ブロック」に背景が付いてて帯っぽく見えるケースも潰す */
.entry-content .wp-block-group.has-background:has(> h2),
.entry-content .wp-block-columns.has-background:has(> h2),
.entry-content .wp-block-cover:has(> .wp-block-cover__inner-container h2),
.entry-content [style*="background"]:has(> h2),
.entry-content [style*="background-color"]:has(> h2){
  background: transparent !important;
  background-color: transparent !important;
}

/* 1) BIARABAテイストのH2に作り直す（白＋金ライン） */
.entry-content h2,
.post_content h2,
.p-entry__body h2{
  position: relative !important;
  margin: 56px auto 22px !important;
  padding: 0 0 16px !important;
  color: rgba(255,255,255,.92) !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  line-height: 1.35 !important;
  font-size: clamp(20px, 2.4vw, 30px) !important;
  text-shadow: 0 16px 34px rgba(0,0,0,.55) !important;
}

/* 下線（金のライン） */
.entry-content h2::after,
.post_content h2::after,
.p-entry__body h2::after{
  content: "" !important;
  display: block !important;
  width: min(520px, 92%) !important;
  height: 1px !important;
  margin: 14px auto 0 !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(202,161,90,.65),
    rgba(226,194,122,.45),
    transparent
  ) !important;
}

/* 2) 黒背景ページ以外でもH2だけ浮かないように（最低限の保険） */
.entry-content,
.post_content,
.p-entry__body{
  /* すでに黒LP側で当たってるなら無視される */
  color: rgba(255,255,255,.86);
}

/* 3) SPの余白微調整 */
@media (max-width: 960px){
  .entry-content h2,
  .post_content h2,
  .p-entry__body h2{
    margin: 44px auto 18px !important;
    padding-bottom: 14px !important;
  }
}
/* =========================
   BIARABA / PROFILE (no photo)
   対象：代表プロフィール（.bi-profile配下のみ）
   ========================= */

/* 写真枠を完全に無効化（空白を消す） */
.bi-profile .bi-profile208__media{
  display:none !important;
}

/* 2カラム前提のレイアウトを1カラムに戻す */
.bi-profile .bi-profile208{
  display:block;
}

/* 本文をカード幅いっぱいに */
.bi-profile .bi-profile208__body{
  width:100%;
  min-width:0;
}

/* 文章の読みやすさ（黒背景×白文字の疲れ軽減） */
.bi-profile .bi-profile208__body{
  line-height:1.9;
}

/* 「会社名・氏名」の見た目を少し整える（黒×金寄せ） */
.bi-profile .bi-profile208__company{
  margin:0 0 .2em;
  font-size:.95rem;
  opacity:.75;
}

.bi-profile .bi-profile208__name{
  margin:0 0 1em;
  font-size:1.15rem;
  font-weight:700;
}

/* 箇条書きの余白を整える（詰まりすぎ防止） */
.bi-profile .bi-listDash{
  margin:1.1em 0 1.2em;
}

/* 強調ラインの“浮き”を抑えて馴染ませる（既存が強い場合の保険） */
.bi-profile .bi-strongLine{
  margin-top:1.2em;
}
/* =========================================================
   SWELL 強制ダークパッチ（最終）
   これで白ならCSSではない
   ========================================================= */

html,
body,
#container,
.l-body,
.l-wrap{
  background:#070707 !important;
}

body *{
  background-color:transparent !important;
}

body.page,
body.single{
  color:rgba(255,255,255,.92) !important;
}

body.page .entry-content,
body.single .entry-content{
  color:rgba(255,255,255,.92) !important;
}

body.page .entry-content *,
body.single .entry-content *{
  color:rgba(255,255,255,.92) !important;
  opacity:1 !important;
}

body.page a,
body.single a{
  color:#e2c27a !important;
}
/* =========================================================
   BIARABA GLOBAL DARK (main only)
   ヘッダーは明るく維持 / 本文領域のみダーク化（全ページ）
   ========================================================= */

:root{
  --bi-bg:#070707;
  --bi-text:rgba(255,255,255,.92);
  --bi-sub:rgba(255,255,255,.72);
  --bi-line:rgba(202,161,90,.35);
  --bi-gold:#caa15a;
}

/* ---------- ヘッダー（グロナビ）は明るく固定 ---------- */
.l-header,
.l-header__inner,
.l-header .l-container,
.c-gnav,
.c-gnav__inner{
  background:#ffffff !important;
}

.l-header a,
.c-gnav a,
.c-gnav__item a{
  color:rgba(0,0,0,.82) !important;
}

.l-header a:hover,
.c-gnav a:hover{
  color:#000 !important;
}

/* （SWELLの現在地/下線などが薄い場合の補強） */
.c-gnav__item.-current > a,
.c-gnav__item.is-current > a{
  color:#000 !important;
  font-weight:700;
}

/* ---------- ここから下（本文）だけ黒 ---------- */
.l-main,
.l-content,
.l-mainContent,
.l-article,
article,
.p-article{
  background:var(--bi-bg) !important;
  color:var(--bi-text) !important;
}

/* コンテンツ本体 */
.entry-content,
.post_content,
.c-postContent__inner{
  background:transparent !important;
  color:var(--bi-text) !important;
}

/* “白背景×白文字”の原因（opacity / 背景指定）を強制リセット */
.entry-content *,
.post_content *,
.c-postContent__inner *{
  color:inherit !important;
  opacity:1 !important;
  background-color:transparent !important;
}

/* 見出し */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4{
  color:#fff !important;
}

/* リンク */
.entry-content a{
  color:var(--bi-gold) !important;
  text-decoration-color:rgba(202,161,90,.55) !important;
}

/* 罫線系（dl/表/区切り） */
.entry-content hr,
.entry-content dt{
  border-color:var(--bi-line) !important;
}

.entry-content dt{
  color:#fff !important;
}

/* dd本文 */
.entry-content dd{
  color:var(--bi-text) !important;
  line-height:1.9;
}

/* 表 */
.entry-content table,
.entry-content th,
.entry-content td{
  color:var(--bi-text) !important;
  border-color:var(--bi-line) !important;
}

/* パンくず（上部にある場合）だけは読みやすさ優先で明るめに */
.c-breadcrumb,
.c-breadcrumb a{
  color:rgba(0,0,0,.65) !important;
}
/* =========================
   固定ページID:202
   投稿カードのタイトルを小さくする
   ========================= */
body.page-id-202 .p-postList__title,
body.page-id-202 .c-postThumb__title {
  font-size: 18px;
  line-height: 1.5;
}

/* PC表示でも少し抑える */
@media (min-width: 768px) {
  body.page-id-202 .p-postList__title,
  body.page-id-202 .c-postThumb__title {
    font-size: 20px;
  }
}
body.page-id-202 .p-postList__title,
body.page-id-202 .c-postThumb__title {
  font-weight: 500;
  letter-spacing: 0.04em;
}
body.page-id-202 .p-postList__title,
body.page-id-202 .c-postThumb__title {
  font-weight: 500;
  letter-spacing: 0.04em;
}
/* =========================
   page-id-202：タブ内 post-list のタイトルを小さく
   ========================= */
body.page-id-202 .p-postList__title{
  font-size: 18px !important;
  line-height: 1.45 !important;
  letter-spacing: .02em;
}

/* 日付などメタもついでに整える（任意） */
body.page-id-202 .p-postList__meta{
  font-size: 12px !important;
  opacity: .85;
}

/* PCだけ少し大きく（任意） */
@media (min-width: 768px){
  body.page-id-202 .p-postList__title{
    font-size: 20px !important;
  }
}
body.page-id-202 .c-postThumb__title{
  font-size: 18px !important;
  line-height: 1.45 !important;
}
@media (min-width: 768px){
  body.page-id-202 .c-postThumb__title{
    font-size: 20px !important;
  }
}
body.page-id-202 .c-postThumb__title{
  font-size: 18px !important;
  line-height: 1.45 !important;
}
@media (min-width: 768px){
  body.page-id-202 .c-postThumb__title{
    font-size: 20px !important;
  }
}
/* =========================
   BIARABA / 店舗運営支援 LP
   ========================= */

/* ① SWELL記事レイアウトを除去 */
body:has(.bi-storemgmt) .c-pageTitle,
body:has(.bi-storemgmt) .p-entry__head,
body:has(.bi-storemgmt) .p-entry__title,
body:has(.bi-storemgmt) .p-breadcrumb,
body:has(.bi-storemgmt) .l-sidebar,
body:has(.bi-storemgmt) .p-entry__sidebar{ display:none !important; }
body:has(.bi-storemgmt) .l-content{ grid-template-columns:1fr !important; }
body:has(.bi-storemgmt) .l-container{ max-width:100% !important; padding:0 !important; }
body:has(.bi-storemgmt) .l-main{ width:100% !important; max-width:100% !important; }
body:has(.bi-storemgmt) .post_content,
body:has(.bi-storemgmt) .p-entry__body{ padding:0 !important; }

/* ② フルブリード化 */
body:has(.bi-storemgmt) .bi-storemgmt{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}

/* ③ CSS変数を再定義（グローバル破壊に対抗） */
body:has(.bi-storemgmt) .bi-storemgmt{
  --black:#080808; --black-mid:#0f0f0f; --black-card:#131313;
  --gold:#C9A84C; --gold-light:#E8C97A; --gold-dim:rgba(201,168,76,0.22);
  --white:#F5F0E8; --dim:rgba(245,240,232,0.78); --dim2:rgba(245,240,232,0.45);
}

/* ④ 背景色の復元（詳細度 0,3,0,1 で body * を上書き） */
body:has(.bi-storemgmt) .bi-storemgmt{ background:#080808 !important; color:#F5F0E8 !important; }
body:has(.bi-storemgmt) .bi-storemgmt .hero{ background:#080808 !important; }
body:has(.bi-storemgmt) .bi-storemgmt .hero-bg{
  background: radial-gradient(ellipse 60% 60% at 50% 45%,rgba(201,168,76,.06) 0%,transparent 65%), #080808 !important;
}
body:has(.bi-storemgmt) .bi-storemgmt .hero-over{ background:rgba(8,8,8,.52) !important; }
body:has(.bi-storemgmt) .bi-storemgmt header.on{
  background:rgba(8,8,8,.94) !important;
  backdrop-filter:blur(16px) !important;
}
body:has(.bi-storemgmt) .bi-storemgmt .sec-alt{ background:#0f0f0f !important; }
body:has(.bi-storemgmt) .bi-storemgmt .cta-sec{ background:#080808 !important; }
body:has(.bi-storemgmt) .bi-storemgmt .cta-bg{
  background: radial-gradient(ellipse 60% 55% at 50% 50%,rgba(201,168,76,.07) 0%,transparent 70%), #080808 !important;
}
body:has(.bi-storemgmt) .bi-storemgmt .guarantee{
  background: linear-gradient(135deg,rgba(201,168,76,.06) 0%,rgba(201,168,76,.02) 50%,transparent 100%) !important;
}
/* グリッド（gap-as-border） */
body:has(.bi-storemgmt) .bi-storemgmt .prob-grid,
body:has(.bi-storemgmt) .bi-storemgmt .svc-grid,
body:has(.bi-storemgmt) .bi-storemgmt .flow-steps{ background:rgba(201,168,76,0.22) !important; }
/* カード */
body:has(.bi-storemgmt) .bi-storemgmt .prob-item,
body:has(.bi-storemgmt) .bi-storemgmt .svc-card,
body:has(.bi-storemgmt) .bi-storemgmt .flow-step,
body:has(.bi-storemgmt) .bi-storemgmt .res-card,
body:has(.bi-storemgmt) .bi-storemgmt .price-card{ background:#131313 !important; }
body:has(.bi-storemgmt) .bi-storemgmt .price-card.main{
  background: linear-gradient(135deg,rgba(201,168,76,.04) 0%,#131313 60%) !important;
}
/* ボタン */
body:has(.bi-storemgmt) .bi-storemgmt .btn-g{ background:#C9A84C !important; color:#080808 !important; }
body:has(.bi-storemgmt) .bi-storemgmt .btn-g:hover{ background:#E8C97A !important; }
body:has(.bi-storemgmt) .bi-storemgmt .btn-o,
body:has(.bi-storemgmt) .bi-storemgmt .nav-cta{ background:transparent !important; }

/* ⑤ テキスト色の復元 */
/* ゴールド */
body:has(.bi-storemgmt) .bi-storemgmt .hero-ey,
body:has(.bi-storemgmt) .bi-storemgmt .lbl,
body:has(.bi-storemgmt) .bi-storemgmt .svc-n,
body:has(.bi-storemgmt) .bi-storemgmt .flow-num,
body:has(.bi-storemgmt) .bi-storemgmt .flow-sub,
body:has(.bi-storemgmt) .bi-storemgmt .res-tag,
body:has(.bi-storemgmt) .bi-storemgmt .price-tag,
body:has(.bi-storemgmt) .bi-storemgmt .price-main,
body:has(.bi-storemgmt) .bi-storemgmt .cta-gold,
body:has(.bi-storemgmt) .bi-storemgmt .res-meta-item strong,
body:has(.bi-storemgmt) .bi-storemgmt .nav-cta{ color:#C9A84C !important; }
body:has(.bi-storemgmt) .bi-storemgmt .hero-h1 em{ color:#C9A84C !important; -webkit-text-fill-color:#C9A84C !important; }
/* dim（サブテキスト） */
body:has(.bi-storemgmt) .bi-storemgmt .hero-catch,
body:has(.bi-storemgmt) .bi-storemgmt .lead,
body:has(.bi-storemgmt) .bi-storemgmt .prob-txt,
body:has(.bi-storemgmt) .bi-storemgmt .str-body p,
body:has(.bi-storemgmt) .bi-storemgmt .svc-txt,
body:has(.bi-storemgmt) .bi-storemgmt .flow-txt,
body:has(.bi-storemgmt) .bi-storemgmt .res-txt,
body:has(.bi-storemgmt) .bi-storemgmt .price-list li,
body:has(.bi-storemgmt) .bi-storemgmt .price-note,
body:has(.bi-storemgmt) .bi-storemgmt .cta-p,
body:has(.bi-storemgmt) .bi-storemgmt .guarantee-inner p{ color:rgba(245,240,232,0.78) !important; }
/* dim2 */
body:has(.bi-storemgmt) .bi-storemgmt nav a,
body:has(.bi-storemgmt) .bi-storemgmt .cta-note,
body:has(.bi-storemgmt) .bi-storemgmt .ft-back{ color:rgba(245,240,232,0.45) !important; }
body:has(.bi-storemgmt) .bi-storemgmt .ft-copy{ color:rgba(245,240,232,.22) !important; }
body:has(.bi-storemgmt) .bi-storemgmt .prob-num{ color:rgba(201,168,76,.06) !important; }

/* ⑥ グローバルH2スタイルの無効化（金ライン・強制余白を消す） */
body:has(.bi-storemgmt) .bi-storemgmt h2{
  background:none !important; border:none !important;
  box-shadow:none !important; text-shadow:none !important;
  padding:0 !important; color:#F5F0E8 !important;
}
body:has(.bi-storemgmt) .bi-storemgmt h2::before,
body:has(.bi-storemgmt) .bi-storemgmt h2::after{ content:none !important; display:none !important; }
body:has(.bi-storemgmt) .bi-storemgmt .sh{
  font-size:clamp(26px,3.5vw,42px) !important;
  font-weight:700 !important; line-height:1.4 !important;
  letter-spacing:.03em !important; margin:0 !important;
}
body:has(.bi-storemgmt) .bi-storemgmt .hero-h1{
  background:none !important; text-shadow:none !important;
  -webkit-text-fill-color:#F5F0E8 !important;
}

/* ⑦ オプション：SWELLヘッダーを非表示にしてHTML独自のheaderを使う場合のみ有効化 */
/* body:has(.bi-storemgmt) .l-header{ display:none !important; } */
/* bi-storemgmt：HTML独自のheader/mnavを非表示（SWELLのナビを使う） */
body:has(.bi-storemgmt) .bi-storemgmt header,
body:has(.bi-storemgmt) .bi-storemgmt .mnav {
  display: none !important;
}
/* =========================
   SWELLヘッダー：透過を強制解除
   ========================= */
.l-header,
.l-header__inner,
.l-header__mainArea,
.l-header__mainArea--bg,
.l-header__bg,
.c-gnav{
  background: #ffffff !important;
  background-color: #ffffff !important;
  opacity: 1 !important;
}
.l-header{
  z-index: 9999 !important;
}
.l-header::before,
.l-header::after{
  background: #ffffff !important;
  opacity: 1 !important;
}