@charset "UTF-8";
/* ============================================================
   Phase2B: 2026-10-13「Webサイト修正・改善資料」22項目の改善レイヤー
   既存main.cssを書き換えず、後勝ちで上書きする追加レイヤー。
   既存ブランド（濃紺＋ゴールド＋オレンジCTA）は維持する。
   ============================================================ */

:root{
  --p2b-cta:#ff7a1a;
  --p2b-cta-dark:#e8590c;
  --p2b-gold:rgba(255,255,255,.55);
  --p2b-navy:#0d1c33;
  --p2b-ink:#1b2430;
  --p2b-radius:10px;
}

/* ---- #22 iOS Safari 対策（コードレベル） ---------------------- */
html{
  -webkit-text-size-adjust:100%;      /* 横向き時の文字自動拡大を防ぐ */
  text-size-adjust:100%;
}
body{ -webkit-tap-highlight-color:rgba(255,122,26,.25); }

/* ---- 共通CTA（#2 / #15 / #19 の統一デザインルール） ------------ */
.p2b-cta,
a.btn-block{
  display:flex !important;
  flex-direction:column;        /* .ruby(小見出し) を本文の上に積む */
  align-items:center;
  justify-content:center;
  gap:4px;
  position:relative;
  width:100%;
  min-height:62px;
  padding:12px 48px 12px 16px !important;
  box-sizing:border-box;
  background:linear-gradient(180deg,#ff9a3c 0%,var(--p2b-cta) 55%,var(--p2b-cta-dark) 100%) !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:clamp(17px,4.4vw,22px) !important;
  line-height:1.35 !important;
  text-align:center;
  text-decoration:none !important;
  border:0 !important;
  border-radius:999px !important;
  box-shadow:0 6px 0 rgba(0,0,0,.18), 0 10px 22px rgba(255,122,26,.33) !important;
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.p2b-cta::after,
a.btn-block::after{
  content:"";
  position:absolute;
  right:18px; top:50%;
  width:10px; height:10px;
  margin-top:-5px;
  border-right:3px solid currentColor;
  border-bottom:3px solid currentColor;
  transform:rotate(-45deg);
}
.p2b-cta:hover,
a.btn-block:hover{ filter:brightness(1.06); color:#fff !important; }
.p2b-cta:active,
a.btn-block:active{
  transform:translateY(4px);
  box-shadow:0 2px 0 rgba(0,0,0,.18), 0 4px 10px rgba(255,122,26,.3) !important;
}
.p2b-cta:focus-visible,
a.btn-block:focus-visible{ outline:3px solid #fff; outline-offset:3px; }

/* CTAの上に出る小見出し（既存.rubyを読みやすく） */
a.btn-block .ruby{
  display:block !important;
  width:100%;
  font-size:clamp(11px,3vw,13px) !important;
  font-weight:700;
  line-height:1.35 !important;
  letter-spacing:.02em;
  opacity:.95;
  margin:0 0 4px !important;
  white-space:nowrap;
}
/* CTAブロックの余白を確保（#15 統一） */
.entry .btn-box{ margin-top:12px; margin-bottom:4px; }

/* ---- #1 最上部コピー ------------------------------------------ */
h1.text-center{
  margin:0 !important;
  padding:16px 16px 12px !important;
  background:var(--p2b-navy);
  color:#fff !important;
  font-size:clamp(17px,4.6vw,30px) !important;
  font-weight:800 !important;
  line-height:1.45 !important;
  letter-spacing:.01em;
  text-align:center;
}

/* ---- #2 FV直下のCTA・条件チップ -------------------------------- */
.p2b-fv{
  background:var(--p2b-navy);
  padding:4px 16px 24px;
  text-align:center;
}
.p2b-chips{
  display:flex; flex-wrap:wrap; gap:8px;
  justify-content:center;
  margin:0 0 12px;
  padding:0; list-style:none;
}
.p2b-chips li{
  background:rgba(255,255,255,.1);
  border:1px solid var(--p2b-gold);
  color:#fff;
  font-size:clamp(12px,3.3vw,15px);
  font-weight:700;
  line-height:1.4;
  padding:4px 12px;
  border-radius:999px;
}
.p2b-fv .p2b-cta{ max-width:460px; margin:0 auto; }
.p2b-fv .p2b-cta-note{
  display:block;
  margin:8px auto 0;
  color:rgba(255,255,255,.72);
  font-size:clamp(11px,3vw,13px);
  line-height:1.6;
}

/* ---- #3 タレント・監督訴求 ------------------------------------- */
.p2b-talent{ padding:16px 16px 4px; }
.p2b-talent .p2b-talent-label{
  display:inline-block;
  margin-bottom:8px;
  padding:4px 12px;
  border-radius:999px;
  background:var(--p2b-gold);
  color:#0d1c33;
  font-size:clamp(11px,3vw,13px);
  font-weight:800;
  letter-spacing:.06em;
}
section.entry .p2b-names{
  font-size:clamp(16px,4.6vw,24px) !important;
  font-weight:800 !important;
  line-height:1.65 !important;
  letter-spacing:.01em;
}
section.entry .p2b-sub{
  font-size:clamp(13px,3.6vw,17px) !important;
  font-weight:700 !important;
  line-height:1.7 !important;
  margin-top:4px !important;
}

/* ---- 共通：セクション見出しの強弱（#7 #9 #11 #12 ほか） -------- */
.p2b-lead{
  max-width:720px;
  margin:0 auto 12px;
  font-size:clamp(14px,3.8vw,17px);
  line-height:1.9;
  text-align:center;
}
.p2b-eyebrow{
  display:block;
  margin-bottom:4px;
  color:var(--p2b-gold);
  font-size:clamp(11px,3vw,13px);
  font-weight:800;
  letter-spacing:.1em;
}

/* ---- #4 出演作品例：カード化 ----------------------------------- */
.section-8 .box{
  background:#fff;
  border:1px solid #dde3ea;
  border-radius:var(--p2b-radius);
  box-shadow:0 2px 10px rgba(0,0,0,.07);
  overflow:hidden;
  padding:0 0 12px !important;
  margin-bottom:16px;
}
.section-8 .box .box-img{ margin:0; }
.section-8 .box .box-img img{ width:100%; height:auto; display:block; }
.section-8 .box h3{
  margin:12px 12px 4px !important;
  font-size:clamp(15px,4.2vw,19px) !important;
  font-weight:800 !important;
  line-height:1.5 !important;
  color:var(--p2b-ink) !important;   /* カードを白地にしたため、継承の白文字を上書きする */
  text-shadow:none !important;
}
.section-8 .box p{
  margin:0 12px !important;
  font-size:clamp(12px,3.4vw,14px) !important;
  line-height:1.7 !important;
  color:#5b6673;
}
.section-8 .p2b-nolink{
  display:block;
  margin:4px auto 0 !important;
  max-width:720px;
  font-size:clamp(11px,3vw,13px) !important;
  line-height:1.7 !important;
  color:rgba(255,255,255,.72) !important;
  text-align:center;
  text-shadow:none !important;
}

/* ---- #5 #11 #18 開閉UI（details）共通 --------------------------- */
.p2b-disclosure{
  border:1px solid rgba(199,170,105,.5);
  border-radius:var(--p2b-radius);
  background:rgba(255,255,255,.04);
  margin:8px auto 0;
  max-width:860px;
  overflow:hidden;
}
.p2b-disclosure > summary{
  list-style:none;
  cursor:pointer;
  padding:12px 16px;
  font-size:clamp(14px,3.8vw,16px);
  font-weight:800;
  text-align:center;
  color:var(--p2b-gold);
  position:relative;
  min-height:48px;
  box-sizing:border-box;
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.p2b-disclosure > summary::-webkit-details-marker{ display:none; }
.p2b-disclosure > summary::after{
  content:"";
  width:9px; height:9px;
  border-right:2.5px solid currentColor;
  border-bottom:2.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .2s ease;
}
.p2b-disclosure[open] > summary::after{ transform:rotate(-135deg) translateY(-2px); }
.p2b-disclosure[open] > summary{ border-bottom:1px solid rgba(199,170,105,.35); }
.p2b-disclosure .p2b-disclosure-body{ padding:4px 12px 16px; }

/* 白背景セクション用 */
.p2b-disclosure--light{ border-color:#dde3ea; background:#fff; }
.p2b-disclosure--light > summary{ color:#05326e; }
.p2b-disclosure--light[open] > summary{ border-bottom-color:#dde3ea; }

/* #5 過去出演者案件例 */
.section-11 ul.left{ font-size:clamp(13px,3.5vw,15px) !important; line-height:1.9 !important; }
.section-11 ul.left li{ margin-bottom:4px; }
.p2b-count{
  display:inline-block;
  margin-left:4px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--p2b-gold);
  color:#0d1c33;
  font-size:.85em;
  font-weight:800;
}

/* ---- #6 応募フォーム誘導ブロック -------------------------------- */
.p2b-formlead{
  display:grid;
  gap:8px;
  max-width:560px;
  margin:0 auto;
  text-align:center;
}
.p2b-formlead .p2b-formlead-head{
  font-size:clamp(18px,5vw,26px) !important;
  font-weight:800 !important;
  line-height:1.5 !important;
  margin:0 !important;
}
.p2b-formlead .p2b-formlead-head em{
  font-style:normal;
  color:#fff;
  text-shadow:0 1px 0 rgba(0,0,0,.25);
}
.p2b-formlead .p2b-formlead-sub{
  margin:0 !important;
  font-size:clamp(12px,3.3vw,15px) !important;
  line-height:1.7 !important;
  opacity:.92;
}

/* ---- #7 こんな思い ---------------------------------------------- */
/* 背景素材は 640x427 しかなく、PCでは cover で約2.2倍に拡大されるため輪郭が甘い。
   素材を差し替えられないので、暗部グラデーションを重ねて粗さを目立たなくし、
   同時に白文字のコントラストを確保する。 */
.section-3{
  background-image:
    linear-gradient(180deg,
      rgba(8,14,26,.42) 0%,
      rgba(8,14,26,.10) 34%,
      rgba(8,14,26,.68) 80%,
      rgba(8,14,26,.86) 100%),
    url(../img/section3-bg.jpg) !important;
  background-repeat:no-repeat,no-repeat !important;
  background-size:cover,cover !important;
  background-position:center center,80% 0% !important;
  padding-top:110px !important;
  padding-bottom:32px !important;
}
.section-3 h2{
  font-size:clamp(21px,6vw,34px) !important;
  font-weight:800 !important;
  line-height:1.45 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.65) !important;
}
.section-3 h2 + p{
  font-size:clamp(11px,3vw,13px) !important;
  letter-spacing:.1em;
  opacity:.75;
  text-shadow:none !important;
}
.section-3 ul{ gap:8px; padding-left:0 !important; }
.section-3 ul li{
  flex:1 1 calc(50% - 10px);
  box-sizing:border-box;
  margin:0 !important;
  padding:12px 8px !important;
  background:rgba(255,255,255,.93);
  border-left:4px solid var(--p2b-cta);
  border-radius:8px;
  color:var(--p2b-ink);
  font-size:clamp(13px,3.7vw,16px) !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  text-align:center;
  list-style:none;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
/* SPで本文が左寄せ＋ラグのある折返しになっていたため、中央寄せ・行間・
   背景パネルを与えて「読ませる文」として成立させる。 */
.section-3 .readable-bg{
  margin-top:16px !important;
  padding:16px 16px !important;
  border-radius:10px;
  background:rgba(8,14,26,.68) !important;
  border:1px solid rgba(255,255,255,.16);
  color:#fff !important;
  font-size:clamp(13px,3.6vw,16px) !important;
  line-height:1.9 !important;
  text-align:center !important;
  text-shadow:none !important;
}
@media (min-width:768px){
  .section-3{ padding-top:150px !important; }
  .section-3 ul{ margin-top:80px !important; }
  .section-3 ul li{ flex:1 1 calc(33.333% - 10px); }
  .section-3 .readable-bg{ max-width:760px; margin-left:auto !important; margin-right:auto !important; }
}

/* ---- #8 必要なのは現場経験 -------------------------------------- */
/* 素材は 640x427。PCでは background-size:70%(=約1000px) で1.5倍以上に拡大され、
   さらに上下 padding:30rem により不自然な白余白ができていた。
   「原寸を超えて拡大しない」サイズ指定へ変更し、余白も内容量に合わせる。 */
.section-4 .readable-bg{
  padding:16px 16px !important;
  border-radius:10px;
}
@media (max-width:767.98px){
  .section-4{
    background-size:100% auto !important;   /* 390px幅なら縮小表示＝劣化しない */
    background-position:center top !important;
    padding-top:calc(58vw) !important;
    padding-bottom:24px !important;
  }
}
@media (min-width:768px){
  .section-4{
    background-size:auto 100% !important;   /* 高さ基準。原寸427pxを超えて拡大しない */
    background-position:right center !important;
    padding-top:48px !important;
    padding-bottom:48px !important;
    min-height:400px;
  }
  .section-4 .readable-bg{ padding:24px 32px !important; }
}
.section-4 h2{
  font-size:clamp(22px,6vw,34px) !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  margin-bottom:8px !important;
}
.section-4 p{
  font-size:clamp(14px,3.8vw,17px) !important;
  line-height:1.95 !important;
}

/* ---- #9 公開作品・配信作品の訴求 --------------------------------- */
/* 古く見える主因は text-shadow:.3rem .3rem 0 #000（ぼけ0の段差影）。
   やわらかい影に置き換え、背景(640x427をcoverで拡大)の粗さは
   グラデーションで抑える。section-7-1(最終手紙)も同じ指定を共有する。 */
.section-7 .head,
.section-7-1 .head{
  background-image:
    linear-gradient(180deg,
      rgba(8,14,26,.62) 0%,
      rgba(8,14,26,.30) 45%,
      rgba(8,14,26,.80) 100%),
    url(../img/section7-bg.jpeg) !important;
  background-repeat:no-repeat,no-repeat !important;
  background-size:cover,cover !important;
  background-position:center center,center 22% !important;
  padding-top:64px !important;
  padding-bottom:48px !important;
  text-shadow:none !important;
}
.section-7 .head h2,
.section-7-1 .head h2{
  font-size:clamp(18px,4.8vw,28px) !important;
  font-weight:800 !important;
  line-height:1.55 !important;
  letter-spacing:.01em;
  text-shadow:0 2px 14px rgba(0,0,0,.7) !important;
}
.section-7 .head h2 .nb,
.section-7-1 .head h2 .nb{ white-space:nowrap; }
.section-7 .head p,
.section-7-1 .head p{
  font-family:inherit !important;
  font-size:clamp(11px,3vw,13px) !important;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.75;
  margin-top:8px !important;
  text-shadow:none !important;
}
.section-7 .content,
.section-7-1 .content{ padding-top:32px !important; padding-bottom:32px !important; }
.section-7 .content h3,
.section-7-1 .content h3{
  font-size:clamp(16px,4.4vw,22px) !important;
  font-weight:800 !important;
  line-height:1.5 !important;
}

/* ---- #10 合格したら：ステップカード ------------------------------ */
.p2b-steps{
  display:grid;
  gap:12px;
  max-width:860px;
  margin:0 auto 16px;
  padding:0;
  list-style:none;
  counter-reset:p2bstep;
}
.p2b-steps li{
  counter-increment:p2bstep;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:start;
  background:rgba(255,255,255,.95);
  border-radius:10px;
  padding:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
.p2b-steps li::before{
  content:counter(p2bstep);
  grid-column:1;
  grid-row:1 / span 2;      /* 番号は2行ぶんをまたぐ。無いと本文が44px列に落ちる */
  display:grid;
  place-items:center;
  width:44px; height:44px;
  border-radius:50%;
  background:var(--p2b-cta);
  color:#fff;
  font-weight:800;
  font-size:19px;
}
.p2b-steps .p2b-steps-t{
  display:block;
  grid-column:2;
  min-width:0;
  font-size:clamp(15px,4.2vw,19px);
  font-weight:800;
  line-height:1.45;
  color:var(--p2b-ink);
}
.p2b-steps .p2b-steps-d{
  display:block;
  grid-column:2;
  min-width:0;
  margin-top:4px;
  font-size:clamp(12px,3.4vw,15px);
  line-height:1.75;
  color:#5b6673;
}

/* ---- #11 出演可能案件 -------------------------------------------- */
.section-6 h3{
  font-size:clamp(19px,5vw,28px) !important;
  font-weight:800 !important;
}
.works-chips{ margin-top:4px; }
details.works-cat{
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.4);
  border-radius:10px;
  margin-bottom:8px;
  overflow:hidden;
}
summary.works-cat__label{
  list-style:none;
  cursor:pointer;
  display:flex !important;
  align-items:center;
  gap:8px;
  min-height:52px;
  padding:12px 12px !important;
  background:linear-gradient(180deg,#16325c,#0d1c33) !important;
  color:#fff !important;
  font-size:clamp(14px,4vw,18px) !important;
  font-weight:800 !important;
  position:relative;
}
summary.works-cat__label::-webkit-details-marker{ display:none; }
summary.works-cat__label::after{
  content:"";
  position:absolute; right:16px; top:50%;
  width:9px; height:9px; margin-top:-6px;
  border-right:2.5px solid var(--p2b-gold);
  border-bottom:2.5px solid var(--p2b-gold);
  transform:rotate(45deg);
  transition:transform .2s ease;
}
details.works-cat[open] summary.works-cat__label::after{ transform:rotate(-135deg); margin-top:-2px; }
.works-cat__list{
  display:flex; flex-wrap:wrap; gap:8px;
  margin:0 !important; padding:12px !important;
  list-style:none;
}
.works-cat__count{
  margin-left:auto;
  margin-right:24px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(199,170,105,.22);
  color:var(--p2b-gold);
  font-size:clamp(11px,3vw,13px);
  font-weight:700;
  white-space:nowrap;
}
.works-cat__list li{
  background:#f3f6f9;
  border:1px solid #dde3ea;
  border-radius:6px;
  padding:8px 12px !important;
  font-size:clamp(13px,3.6vw,16px) !important;
  font-weight:600;
  line-height:1.4 !important;
  color:var(--p2b-ink);
}
.works-cat__list li.etc{ background:transparent; border-style:dashed; color:#5b6673; }

/* ---- #12 新人発掘・デビューサポート ------------------------------- */
.section-2{
  background-image:
    linear-gradient(180deg, rgba(8,14,26,.70), rgba(8,14,26,.58)),
    url(../img/section2-bg.jpg) !important;
  background-repeat:no-repeat,no-repeat !important;
  background-size:cover,cover !important;
  background-position:center center,center center !important;
  padding:32px 16px !important;
}
.section-2 p{
  max-width:760px;
  margin:0 auto !important;
  font-size:clamp(15px,4.2vw,21px) !important;
  font-weight:700 !important;
  line-height:1.85 !important;
  text-align:center;
  color:#fff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.6);
}
/* 訴求の核になる語だけを視覚的に立てる（文言は変更していない） */
.section-2 p .p2b-mark{
  font-style:normal;
  font-weight:900;
  color:#fff;
  border-bottom:3px solid rgba(255,122,26,.75);
  padding-bottom:4px;
}

/* ---- #13 FLOW ----------------------------------------------------- */
.p2b-flow{
  display:grid;
  gap:0;
  max-width:720px;
  margin:16px auto 0;
  padding:0;
  list-style:none;
}
.p2b-flow li{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:12px;
  align-items:start;
  position:relative;
  padding-bottom:24px;
}
.p2b-flow li:last-child{ padding-bottom:0; }
.p2b-flow li::before{
  content:"";
  position:absolute;
  left:27px; top:56px; bottom:0;
  width:3px;
  background:repeating-linear-gradient(180deg,var(--p2b-gold) 0 6px,transparent 6px 12px);
}
.p2b-flow li:last-child::before{ display:none; }
.p2b-flow .p2b-flow-no{
  display:grid;
  place-items:center;
  width:56px; height:56px;
  border-radius:50%;
  background:linear-gradient(180deg,#ff9a3c,var(--p2b-cta-dark));
  color:#fff;
  font-weight:800;
  line-height:1.1;
  font-size:11px;
  letter-spacing:.06em;
  box-shadow:0 4px 12px rgba(255,122,26,.35);
}
.p2b-flow .p2b-flow-no b{ display:block; font-size:21px; }
.p2b-flow .p2b-flow-body{
  background:rgba(255,255,255,.95);
  border-radius:10px;
  padding:12px 16px;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
.p2b-flow .p2b-flow-t{
  display:block;
  font-size:clamp(15px,4.3vw,20px);
  font-weight:800;
  line-height:1.45;
  color:var(--p2b-ink);
}
.p2b-flow .p2b-flow-d{
  display:block;
  margin-top:4px;
  font-size:clamp(12px,3.4vw,15px);
  line-height:1.75;
  color:#5b6673;
}
.p2b-flow-note{
  max-width:720px;
  margin:16px auto 0;
  padding:12px 16px;
  border:1px dashed var(--p2b-gold);
  border-radius:10px;
  font-size:clamp(13px,3.6vw,16px);
  line-height:1.8;
  text-align:center;
}

/* ---- #14 FAQ ------------------------------------------------------ */
.qalist dt.question{
  min-height:52px;
  display:flex !important;
  align-items:flex-start;        /* 2行の設問で「Q.」が行間に落ちるのを防ぐ */
  gap:4px;
  padding:12px 16px !important;
  border-radius:8px;
  font-size:clamp(14px,3.8vw,17px) !important;
  font-weight:700 !important;
  line-height:1.6 !important;
}
.section-9 .qalist dt.question::before{
  flex:0 0 auto;
  opacity:.75;
  font-weight:800;
}
.qalist dd.answer{
  font-size:clamp(13px,3.5vw,15px) !important;
  line-height:1.9 !important;
}
.qalist .p2b-faq-rest[hidden]{ display:none !important; }
.p2b-faq-more{
  display:block;
  width:100%;
  max-width:420px;
  margin:16px auto 0;
  padding:12px 16px;
  min-height:52px;
  background:#fff;
  border:2px solid #05326E;
  border-radius:999px;
  color:#05326E;
  font:inherit;
  font-size:clamp(14px,3.8vw,16px);
  font-weight:800;
  cursor:pointer;
}
.p2b-faq-more:hover{ background:rgba(5,50,110,.08); }
.p2b-faq-more:focus-visible{ outline:3px solid #fff; outline-offset:2px; }

/* ---- #16 協賛特典：過剰拡大の抑制と位置づけの明示 -------------------- */
/* library-32.webp の実寸は 900x2584。HTMLは 1125x3230 と宣言していたため
   常時1.25倍に拡大されていた（= 画質低下の実因）。実寸を宣言し、
   かつ原寸を超えて拡大しないよう上限を設ける。 */
.section-16{ padding:24px 16px 16px; }
.section-16 figure img{
  max-width:560px !important;
  width:100% !important;
  height:auto !important;
  margin:0 auto;
  display:block;
}
.section-16 .p2b-eyebrow{ margin-bottom:4px; }
.section-16 .p2b-sponsor-note{
  max-width:560px;
  margin:8px auto 0 !important;
  font-size:clamp(11px,3vw,13px) !important;
  line-height:1.7 !important;
  color:#5b6673;
  text-align:center;
}

/* ---- #17 定員・募集ステータス -------------------------------------- */
.p2b-status{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  align-items:center;
  max-width:720px;
  margin:0 auto 12px;
  padding:12px 16px;
  background:rgba(255,255,255,.95);
  border-left:5px solid var(--p2b-cta);
  border-radius:10px;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
.p2b-status .p2b-status-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 12px;
  border-radius:999px;
  background:#05326e;          /* 白文字とのコントラスト比を3:1以上に確保 */
  color:#fff;
  font-size:clamp(13px,3.6vw,16px);
  font-weight:800;
  white-space:nowrap;
}
.p2b-status .p2b-status-badge::before{
  content:"";
  width:9px;height:9px;border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 0 rgba(255,255,255,.9);
  animation:p2bPulse 1.8s infinite;
}
@keyframes p2bPulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.85);}
  70%{box-shadow:0 0 0 9px rgba(255,255,255,0);}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0);}
}
.p2b-status .p2b-status-text{
  font-size:clamp(13px,3.6vw,16px);
  font-weight:700;
  line-height:1.6;
  color:var(--p2b-ink);
}
.section-10 .attention{
  font-size:clamp(16px,4.6vw,22px) !important;
  font-weight:800 !important;
}
@media (prefers-reduced-motion:reduce){
  .p2b-status .p2b-status-badge::before{ animation:none; }
  .p2b-cta, a.btn-block{ transition:none; }
}

/* ---- #18 最終長文 -------------------------------------------------- */
.p2b-letter{ max-width:760px; margin:0 auto; }
.p2b-letter h3{
  margin:0 0 8px !important;
  font-size:clamp(18px,5vw,26px) !important;
  font-weight:800 !important;
  line-height:1.5 !important;
}
.p2b-letter .p2b-letter-points{
  display:grid;
  gap:8px;
  margin:0 0 12px;
  padding:0;
  list-style:none;
}
.p2b-letter .p2b-letter-points li{
  position:relative;
  padding:12px 12px 12px 32px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(199,170,105,.45);
  border-radius:8px;
  font-size:clamp(14px,3.8vw,17px);
  font-weight:700;
  line-height:1.65;
}
.p2b-letter .p2b-letter-points li::before{
  content:"";
  position:absolute;
  left:15px; top:50%;
  width:7px; height:13px;
  margin-top:-8px;
  border-right:3px solid var(--p2b-cta);
  border-bottom:3px solid var(--p2b-cta);
  transform:rotate(45deg);
}
.p2b-letter .p2b-letter-full p{
  font-size:clamp(13px,3.6vw,16px) !important;
  line-height:2.05 !important;
}

/* ---- #20 問い合わせ注記 -------------------------------------------- */
.p2b-note{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px;
  align-items:start;
  max-width:520px;
  margin:16px auto 0 !important;
  padding:12px 16px;
  background:rgba(255,255,255,.9);
  border:1px solid #dde3ea;
  border-radius:10px;
  text-align:left !important;
}
.p2b-note .p2b-note-mark{
  display:grid;
  place-items:center;
  width:26px; height:26px;
  border-radius:50%;
  background:var(--p2b-gold);
  color:#0d1c33;
  font-weight:800;
  font-size:15px;
  line-height:1;
}
.p2b-note .p2b-note-body{
  font-size:clamp(12px,3.3vw,14px);
  line-height:1.8;
  color:#1b2430;
}
.p2b-note .p2b-note-tel{
  display:inline-block;
  margin-top:4px;
  font-size:clamp(15px,4.2vw,18px);
  font-weight:800;
  color:var(--p2b-ink);
  text-decoration:none;
}

/* ---- #21 追従CTA：視認性の強化 -------------------------------------- */
#maStickyCta{
  padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px)) !important;
  background:linear-gradient(180deg,rgba(13,28,51,0) 0%,rgba(13,28,51,.92) 42%) !important;
}
#maStickyCta a.btn-block{
  max-width:520px !important;
  margin:0 auto !important;
  min-height:60px;
  box-shadow:0 6px 0 rgba(0,0,0,.22), 0 12px 26px rgba(0,0,0,.38) !important;
}

/* ---- フォーム（#6 との関係・入力のしやすさ） ------------------------ */
#form .formTable th{
  font-size:clamp(13px,3.6vw,15px) !important;
  font-weight:700 !important;
}
/* ---- #19 最終CTA ---------------------------------------------------- */
/* 本番の最終CTAは <input type="submit"> に submit-2.png を背景画像で敷き、
   height:100px / width:400px 固定・background-color:#8e1b1b（ベージュ）・
   text-indent:110% でラベルを隠す実装だった。
   そのため (1) 色が他のCTA(オレンジ)と不一致 (2) 画像外のベージュ地が
   クリック範囲に見えない (3) SPで縦横比が崩れる という3点が発生していた。
   他CTAと同じ実テキストのピル型ボタンに統一する。 */
#form .submitbtn{
  -webkit-appearance:none;
  appearance:none;
  display:block;
  width:100% !important;
  max-width:480px !important;
  height:auto !important;
  min-height:64px;
  margin:16px auto 0 !important;
  padding:16px 24px !important;
  background-image:linear-gradient(180deg,#ff9a3c 0%,var(--p2b-cta) 55%,#e8590c 100%) !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-size:auto !important;
  border:0 !important;
  border-radius:999px !important;
  box-shadow:0 6px 18px rgba(232,95,0,.35), inset 0 1px 0 rgba(255,255,255,.35);
  color:#fff !important;
  font-size:clamp(17px,4.4vw,22px) !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  letter-spacing:.02em;
  text-indent:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  cursor:pointer;
  transition:filter .15s ease, transform .08s ease;
}
#form .submitbtn:hover{ filter:brightness(1.06); }
#form .submitbtn:active{ transform:translateY(1px); filter:brightness(.97); }
#form .submitbtn:focus-visible{ outline:3px solid #fff; outline-offset:3px; }
#form .btn-box{ width:100% !important; max-width:none !important; float:none !important; }

/* ---- 共通余白（セクション間の呼吸） --------------------------------- */
.section-8,
.section-11 .content,
.section-6 .content,
.section-9,
.section-13{ padding-top:24px; padding-bottom:24px; }
