/* ── RESET & ROOT ── */
.ylcb-lp *{box-sizing:border-box;margin:0;padding:0}
.ylcb-lp{font-family:'Noto Sans JP',sans-serif;color:#2c3e50;line-height:1.8;font-size:16px}
.ylcb-lp a{color:#3b9eff;text-decoration:none}

/* ── VARIABLES ── */
.ylcb-lp{
  --navy:#1a3a5c;
  --cyan:#3b9eff;
  --cyan-light:#eef6ff;
  --orange:#ff8c00;
  --gray:#f4f8fc;
  --gray-mid:#e4edf5;
  --text:#2c3e50;
  --muted:#5a7a9a;
  --radius:16px;
  --shadow:0 6px 28px rgba(26,58,92,.10);
}

/* ── テーマの幅制限・ページヘッダーを上書き ── */
.page-id-2985 .yl-page-wrap{max-width:none !important;padding:0 !important}
.page-id-2985 .yl-page-content{max-width:none !important;padding:0 !important;margin:0 !important}
.page-id-2985 .yl-page-header{display:none !important}
/* トップへ戻るボタンを他ページと同じ幅・中央寄せに */
.page-id-2985 .yl-page-nav{max-width:860px !important;margin-left:auto !important;margin-right:auto !important;padding-left:40px !important;padding-right:40px !important;margin-bottom:48px !important}

/* ── SECTION BASE ── */
.ylcb-section{padding:72px 0}
.ylcb-inner{max-width:1200px;margin:0 auto;padding:0 40px}

/* ラベルと見出しの間隔を詰める */
.ylcb-label{
  display:inline-block;
  color:var(--cyan);
  font-size:15px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:0;
  line-height:1.2;
}
.ylcb-title{
  font-size:clamp(24px,3.5vw,36px);
  font-weight:900;
  color:var(--navy);
  line-height:1.3;
  margin-top:8px !important;  /* テーマのh2 margin-topを上書き */
  margin-bottom:12px;
  white-space:nowrap;
}
@media(max-width:768px){
  .ylcb-title{white-space:normal}
}
.ylcb-subtitle{font-size:clamp(16px,2vw,17px);color:var(--muted);max-width:600px;margin:0 auto 40px;line-height:1.9}
.ylcb-center{text-align:center}

/* ── ページタイトルエリア ── */
.ylcb-page-title-area{background:#fff;padding:16px 0 0;border-bottom:1px solid var(--gray-mid)}
.ylcb-page-title-inner{max-width:1200px;margin:0 auto;padding:0 40px;text-align:center}

/* パンくず（横並びに修正） */
.ylcb-breadcrumb{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:13px;
  color:var(--muted);
  margin-bottom:14px;
  text-align:left;
}
.ylcb-breadcrumb a{color:var(--muted);text-decoration:none}
.ylcb-breadcrumb a:hover{color:var(--cyan)}
.ylcb-breadcrumb-sep{color:#bbb;margin:0 2px}

/* 製品タイトル */
.ylcb-page-title-sub{
  font-size:clamp(22px,3vw,32px);  /* セクション見出しと同じくらい */
  font-weight:700;
  color:var(--cyan);
  letter-spacing:.02em;
  margin-bottom:4px;
}
.ylcb-page-title-main{
  font-size:clamp(40px,7vw,72px);
  font-weight:900;
  color:var(--navy);
  line-height:1.1;
  padding-bottom:24px;
}
.ylcb-page-title-main em{color:var(--cyan);font-style:normal}

/* ── HERO ── */
.ylcb-hero{background:linear-gradient(150deg,var(--cyan-light) 0%,#fff 60%);padding:72px 24px 80px;text-align:center;border-bottom:2px solid var(--gray-mid)}
.ylcb-hero h1{font-size:clamp(26px,4.5vw,48px);font-weight:900;color:var(--navy);line-height:1.25;margin-bottom:16px}
.ylcb-hero h1 em{color:var(--orange);font-style:normal}
.ylcb-hero-lead{
  font-size:clamp(16px,1.8vw,17px);
  color:var(--muted);
  max-width:100%;
  margin:0 auto 32px;
  line-height:2;
}
.ylcb-price-block{margin-bottom:10px}
.ylcb-price{font-size:clamp(40px,6vw,64px);font-weight:900;color:var(--navy)}
.ylcb-price small{font-size:clamp(14px,2vw,18px);font-weight:500;color:var(--muted)}
.ylcb-hero-note{font-size:clamp(13px,1.6vw,15px);color:var(--muted);margin-bottom:36px;line-height:2}
.ylcb-hero-note span{display:inline-block;margin:0 10px}
.ylcb-btn{display:inline-block;background:var(--orange);color:#fff !important;font-size:clamp(16px,2vw,19px);font-weight:700;padding:18px 52px;border-radius:50px;box-shadow:0 5px 0 #c06a00;transition:.2s;border:none;cursor:pointer;font-family:inherit}
.ylcb-btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 #c06a00;color:#fff !important}
.ylcb-btn:active{transform:translateY(2px);box-shadow:0 2px 0 #c06a00;color:#fff !important}
.ylcb-hero-secure{font-size:13px;color:var(--muted);margin-top:14px}

/* ── VS SECTION ── */
.ylcb-vs{background:var(--gray)}
.ylcb-vs-lead{font-size:clamp(16px,1.8vw,18px);color:var(--muted);line-height:1.9;max-width:900px;margin:0 auto 40px;text-align:center}
.ylcb-vs-lead small{font-size:clamp(12px,1.3vw,14px);color:var(--muted);opacity:.8}
.ylcb-vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:820px;margin:0 auto;align-items:stretch}
.ylcb-vs-sep{display:none}
/* 青いラインを削除 */
.ylcb-vs-col{background:#fff;border-radius:var(--radius);padding:32px 28px;box-shadow:var(--shadow);border:none}
.ylcb-vs-col.yl{background:var(--cyan-light);border:2px solid var(--cyan)}
/* 見出しを左寄せ */
.ylcb-vs-col h3{font-size:15px;font-weight:700;color:var(--muted);margin-bottom:20px;letter-spacing:.04em;text-align:left}
.ylcb-vs-col.yl h3{color:var(--cyan)}
.ylcb-vs-list{list-style:none}
/* チェックマーク・×のテキストをセンターに */
.ylcb-vs-list li{
  font-size:clamp(16px,1.5vw,16px);
  padding:9px 0;
  border-bottom:1px solid var(--gray-mid);
  display:flex;
  align-items:center;  /* 天地センター */
  gap:10px;
  line-height:1.4;
  text-align:left;
}
.ylcb-vs-list li:last-child{border-bottom:none}

/* ── FEATURES ── */
.ylcb-features{background:#fff}
.ylcb-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px;margin-top:40px}
.ylcb-feat{background:var(--gray);border-radius:var(--radius);padding:32px 28px;border-top:none;transition:.3s}
.ylcb-feat:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ylcb-feat-icon{font-size:76px;margin-bottom:20px}
.ylcb-feat h3{font-size:clamp(16px,2vw,18px);font-weight:700;color:var(--navy);margin-bottom:10px;text-align:left}
.ylcb-feat p{font-size:clamp(16px,1.5vw,16px);color:var(--muted);line-height:1.9;text-align:left}

/* ── COMPARE TABLE（幅いっぱい） ── */
.ylcb-compare{background:var(--gray)}
.ylcb-table-wrap{max-width:100%;margin:40px 0 0;overflow-x:auto}
.ylcb-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);font-size:clamp(16px,1.5vw,16px);table-layout:fixed}
.ylcb-table th{background:var(--navy);color:#fff;padding:16px 18px;font-weight:700;text-align:center;font-size:clamp(16px,1.5vw,16px)}
.ylcb-table th:first-child{text-align:left}
.ylcb-table th.hl{background:var(--cyan)}
.ylcb-table td{padding:14px 18px;border-bottom:1px solid var(--gray-mid);text-align:center;vertical-align:middle;word-break:break-word}
.ylcb-table td:first-child{text-align:left;font-weight:600;color:var(--navy)}
.ylcb-table tr:last-child td{border-bottom:none}
.ylcb-table tr:nth-child(even) td{background:#f9fbfd}
.ylcb-table td.hl{background:var(--cyan-light);font-weight:700;color:var(--navy)}
.ck{color:#22c55e;font-size:18px;font-weight:700}
.cx{color:#e44;font-size:18px}
.cp{color:var(--orange);font-size:clamp(12px,1.4vw,14px)}

/* ── SECURITY ── */
.ylcb-security{background:#fff}
.ylcb-sec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:40px}
.ylcb-sec-card{background:var(--gray);border-radius:var(--radius);padding:28px;border-left:none}
.ylcb-sec-icon{font-size:64px;margin-bottom:16px}
.ylcb-sec-card h4{font-size:clamp(15px,1.8vw,17px);font-weight:700;color:var(--navy);margin-bottom:8px;text-align:left}
.ylcb-sec-card p{font-size:clamp(16px,1.5vw,16px);color:var(--muted);line-height:1.9;text-align:left}

/* ── FLOW ── */
.ylcb-flow{background:var(--gray)}
.ylcb-flow-wrap{max-width:680px;margin:40px auto 0;position:relative}
.ylcb-flow-wrap::before{content:'';position:absolute;left:27px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--cyan),var(--gray-mid))}
.ylcb-step{display:flex;gap:24px;margin-bottom:28px;position:relative}
.ylcb-step-num{flex-shrink:0;width:56px;height:56px;background:var(--cyan);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;position:relative;z-index:1;box-shadow:0 0 0 4px #fff}
.ylcb-step-body{background:#fff;border-radius:var(--radius);padding:22px 26px;flex:1;box-shadow:var(--shadow)}
.ylcb-step-body h4{font-size:clamp(15px,1.8vw,17px);font-weight:700;color:var(--navy);margin-bottom:6px;text-align:left}
.ylcb-step-body p{font-size:clamp(16px,1.5vw,16px);color:var(--muted);line-height:1.9;text-align:left}
.ylcb-step-note{font-size:13px;color:var(--orange);font-weight:700;margin-top:8px;text-align:left}

/* ── FAQ ── */
.ylcb-faq{background:#fff}
.ylcb-faq .ylcb-label{text-align:left}
.ylcb-faq .ylcb-title{text-align:left}
.ylcb-faq-list{max-width:720px;margin:40px auto 0}
.ylcb-faq-item{border-bottom:1px solid var(--gray-mid);padding:22px 0}
.ylcb-faq-q{font-size:clamp(15px,1.8vw,17px);font-weight:700;color:var(--navy);display:flex;gap:14px;align-items:flex-start}
.ylcb-faq-q::before{content:'Q';background:var(--cyan);color:#fff;font-size:12px;font-weight:900;padding:3px 9px;border-radius:5px;flex-shrink:0;margin-top:3px}
.ylcb-faq-a{font-size:clamp(16px,1.6vw,16px);color:var(--muted);margin-top:12px;padding-left:38px;line-height:1.9;text-align:left}

/* ── PURCHASE ── */
.ylcb-purchase{background:var(--cyan-light);border-top:2px solid var(--gray-mid)}
.ylcb-purchase-card{background:#fff;border-radius:24px;padding:40px;max-width:580px;margin:0 auto;box-shadow:0 16px 48px rgba(26,58,92,.13)}
.ylcb-purchase-card .price-box{background:var(--gray);border-radius:12px;padding:22px;margin-bottom:28px;text-align:center}
.ylcb-purchase-card .big-price{font-size:clamp(36px,5vw,52px);font-weight:900;color:var(--navy)}
.ylcb-purchase-card .big-price small{font-size:clamp(14px,1.8vw,17px);font-weight:500;color:var(--muted)}
.ylcb-purchase-card .price-note{font-size:clamp(13px,1.4vw,15px);color:var(--muted);margin-top:6px}
.ylcb-form-group{margin-bottom:20px;text-align:left}
.ylcb-form-group br{display:none}  /* WordPressの自動<br>を非表示 */
.ylcb-form-group label{display:block;font-size:clamp(16px,1.5vw,16px);font-weight:700;color:var(--navy);margin-bottom:6px}
.ylcb-form-group label span{color:#e44}
.ylcb-form-group input{width:100%;padding:13px 16px;border:1.5px solid var(--gray-mid);border-radius:10px;font-size:clamp(16px,1.6vw,16px);font-family:inherit;transition:.2s;background:#fff}
.ylcb-form-group input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(59,158,255,.15)}
.ylcb-form-group .hint{font-size:12px;color:var(--muted);margin-top:4px}
.ylcb-card-label{font-size:clamp(16px,1.5vw,16px);font-weight:700;color:var(--navy);margin-bottom:6px;text-align:left;margin-top:4px}
.ylcb-card-label span{color:#e44}
#yl-card-number{border:1.5px solid var(--gray-mid);border-radius:10px;padding:13px 16px;background:#fafbff;min-height:46px;margin-bottom:8px}
.ylcb-card-row{display:flex;gap:8px;margin-bottom:8px}
#yl-card-expiry,#yl-card-cvc{flex:1;border:1.5px solid var(--gray-mid);border-radius:10px;padding:13px 16px;background:#fafbff;min-height:46px}
.ylcb-secure-note{font-size:clamp(12px,1.4vw,13px);color:var(--muted);text-align:center;margin:14px 0 22px;line-height:1.8}
#yl-purchase-btn{width:100%;padding:18px;background:var(--orange);color:#fff !important;border:none;border-radius:12px;font-size:clamp(16px,2vw,19px);font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 5px 0 #c06a00;transition:.2s}
#yl-purchase-btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 #c06a00;color:#fff !important}
#yl-purchase-btn:disabled{opacity:.7;cursor:default;transform:none;box-shadow:0 3px 0 #c06a00}
#yl-purchase-msg{margin-top:12px;font-size:clamp(16px,1.5vw,16px);color:#e44;display:none;text-align:center;line-height:1.7}
#yl-payment-success{display:none;background:#e8f8f0;border:2px solid #22c55e;border-radius:16px;padding:32px;text-align:center;margin-bottom:28px}
#yl-payment-success h2{color:#166534;font-size:clamp(18px,2.5vw,22px);margin-bottom:10px}
#yl-payment-success p{font-size:clamp(16px,1.6vw,16px);color:#2d6a4f}
#yl-payment-error-msg{display:none;background:#fff0f0;border:2px solid #e44;border-radius:12px;padding:20px;text-align:center;margin-bottom:24px;font-size:15px;color:#c00}

/* ── SP専用改行制御 ── */
/* PCでは非表示、SPでは表示 */
br.sp-br{display:none}
@media(max-width:768px){
  br.sp-br{display:block}
}

/* ── RESPONSIVE ── */
@media(max-width:640px){
  .ylcb-vs-grid{grid-template-columns:1fr;gap:12px}
  .ylcb-vs-col{padding:20px 14px}  /* SP：枠内の上下余白を詰める・左右を狭く */
  .ylcb-purchase-card{padding:28px 18px}
  .ylcb-step-num{width:48px;height:48px;font-size:17px}
  .ylcb-flow-wrap::before{left:23px}
  .ylcb-inner{padding:0 20px}
  .ylcb-page-title-inner{padding:0 20px}
  .ylcb-title{white-space:normal}
}
