/* セセラ AIコンシェルジュ 専用ページ（ランディング） — デザイン3a（白ベース＋ティール） */
.cai-landing{
  --teal:#45b1a8; --teal-d:#3aa198; --teal-l:#4cbcb2;
  --navy:#2c3e50; --coral:#e8836f; --coral-l:#ef9070;
  --ink:#2b2b2b; --sub:#1b1b1b; --soft:#6b6b6b; --faint:#8a8a8a;
  --line:#eef0f2; --border:#dfe4e6; --page:#ffffff; --panel:#f7f9f9;
  background:var(--page);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
  color:var(--ink);
  /* テーマの本文幅制約を打ち消して全幅で表示 */
  width:100vw; position:relative; left:50%; right:50%;
  margin-left:-50vw; margin-right:-50vw;
}
.cai-landing *{box-sizing:border-box;}

/* この専用ページではテーマの共通ヘッダーを隠す */
.boxHeader{display:none !important;}

/* スマホ: テーマが固定ヘッダー用に確保している上部余白（#container 16vw / .boxContent 16.5vw）を打ち消す。
   ヘッダーを隠しているこのページでは、その分が空白として残ってしまうため。 */
@media(max-width:750px){
  #container{padding-top:0 !important;}
  .boxContent{padding-top:0 !important;}
}

/* ヘッダー帯（cecelaロゴ＋ブランド名） */
.cai-landing .cail-topbar{
  background:#fff; padding:14px 22px; border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
}
.cai-landing .cail-logo-link{display:inline-flex; align-items:center; gap:10px; line-height:0; text-decoration:none;}
.cai-landing .cail-logo{height:34px; width:auto; display:inline-block;}
.cai-landing .cail-brand-sub{font-size:10px; color:#8a8a8a; font-weight:500; line-height:1;}
.cai-landing .cail-menu{display:flex; flex-direction:column; gap:4px; width:22px;}
.cai-landing .cail-menu span{height:2px; background:var(--ink); border-radius:2px;}

/* ヒーロー（グラデ背景＋浮遊円＋明朝見出し） */
.cai-landing .cail-hero{
  position:relative; overflow:hidden; text-align:center;
  padding:44px 24px 40px;
  background:linear-gradient(160deg,#eef7f5 0%,#f7fbfa 60%,#fdf6f2 100%);
}
.cai-landing .cail-hero::before,
.cai-landing .cail-hero::after{
  content:""; position:absolute; border-radius:50%; pointer-events:none;
}
.cai-landing .cail-hero::before{
  top:-60px; right:-40px; width:200px; height:200px;
  background:radial-gradient(circle,rgba(69,177,168,.16),transparent 70%);
  filter:blur(6px); animation:cail-floaty 7s ease-in-out infinite;
}
.cai-landing .cail-hero::after{
  bottom:-70px; left:-50px; width:230px; height:230px;
  background:radial-gradient(circle,rgba(232,131,111,.12),transparent 70%);
  filter:blur(8px); animation:cail-floaty 9s ease-in-out infinite reverse;
}
.cai-landing .cail-eyebrow{
  position:relative; display:flex; flex-direction:column; align-items:center;
  gap:5px; margin:0 0 16px;
}
.cai-landing .cail-eyebrow-main{
  color:var(--teal); font-size:15px; font-weight:700; letter-spacing:.14em;
}
.cai-landing .cail-eyebrow-sub{
  color:var(--soft); font-size:12px; font-weight:600; letter-spacing:.04em;
}
.cai-landing .cail-title{
  position:relative; color:var(--ink);
  font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:27px; font-weight:600; line-height:1.6; margin:0 0 8px;
  text-wrap:balance;
}
.cai-landing .cail-divider{
  position:relative; width:40px; height:2px; margin:16px auto 18px;
  background:linear-gradient(90deg,transparent,var(--teal),transparent);
}
.cai-landing .cail-lead{
  position:relative; color:var(--soft); font-size:14px; line-height:1.9;
  max-width:520px; margin:0 auto 24px;
}
.cai-landing .cail-lead strong{color:var(--teal); font-weight:700;}
.cai-landing .cail-cta{
  position:relative; display:inline-block; overflow:hidden;
  background:linear-gradient(135deg,var(--teal-l),var(--teal-d)); color:#fff;
  font-size:15px; font-weight:700; letter-spacing:.04em; text-decoration:none;
  padding:15px 40px; border-radius:999px; box-shadow:0 8px 20px rgba(69,177,168,.35);
  transition:transform .15s, box-shadow .15s;
}
.cai-landing .cail-cta:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(69,177,168,.42);}
.cai-landing .cail-scrollcue{
  display:block; margin-top:16px; color:var(--teal);
  font-size:12px; font-weight:700; letter-spacing:.04em;
}

/* 見出し共通 */
.cai-landing .cail-h2{
  text-align:center; font-size:23px; font-weight:700; color:var(--sub); margin:0 0 8px;
  font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
}

/* コンシェルジュ本体エリア */
.cai-landing .cail-app{padding:28px 20px 24px; scroll-margin-top:12px; background:var(--panel);}
.cai-landing .cail-app .cail-h2{margin-bottom:6px;}
.cai-landing .cail-app-sub{text-align:center; font-size:13px; color:var(--soft); margin:0 auto 24px;}

/* 3ステップ */
.cai-landing .cail-steps{padding:52px 24px 20px;}
.cai-landing .cail-steps .cail-h2{margin-bottom:32px;}
.cai-landing .cail-steps-grid{
  max-width:900px; margin:0 auto;
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.cai-landing .cail-step{
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px 20px; text-align:center;
  box-shadow:0 4px 14px rgba(0,0,0,.05);
}
.cai-landing .cail-step-num{
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; margin:0 auto 14px; border-radius:50%;
  background:linear-gradient(135deg,var(--teal-l),var(--teal-d)); color:#fff; font-size:16px; font-weight:700;
}
.cai-landing .cail-step-title{font-size:15px; font-weight:700; color:var(--sub); margin:0 0 8px;}
.cai-landing .cail-step-body{font-size:12.5px; line-height:1.8; color:var(--soft); margin:0;}

/* 補足 */
.cai-landing .cail-note{
  text-align:center; font-size:11.5px; color:var(--faint);
  padding:16px 24px 56px; margin:0; line-height:1.8;
}

/* スマホ */
@media(max-width:767px){
  .cai-landing .cail-topbar{padding:12px 16px;}
  .cai-landing .cail-logo{height:30px;}
  .cai-landing .cail-hero{padding:34px 18px 32px;}
  .cai-landing .cail-title{font-size:22px; line-height:1.65;}
  .cai-landing .cail-lead{font-size:13px; margin-bottom:20px;}
  .cai-landing .cail-app{padding-top:22px;}
  .cai-landing .cail-steps-grid{grid-template-columns:1fr; gap:14px; max-width:420px;}
  .cai-landing .cail-h2{font-size:20px;}
}

@keyframes cail-floaty{0%,100%{transform:translate(0,0);}50%{transform:translate(14px,-18px);}}
@media (prefers-reduced-motion: reduce){
  .cai-landing .cail-hero::before,.cai-landing .cail-hero::after{animation:none;}
}
