@charset "UTF-8";
/* =========================================================
   /service/chatgpt/ ChatGPT広告LP 専用CSS（2026.10）
   テンプレート（service-format.html）の「独自CSS/JS」枠から読み込み
   1) サイト共通CSSとの調整（LP内のみに適用）
   2) LP本体（.gc-cgpt 配下にスコープ）
   ========================================================= */

/* ---------- 1) サイト共通CSSとの調整 ---------- */
/* 共通CSS（* / h1 / 見出しfont-weight）の影響をLP内で打ち消す */
.gc-cgpt *{color:inherit;font-size:inherit;line-height:inherit;font-family:inherit;letter-spacing:inherit}
.gc-cgpt h1{position:static;top:auto;z-index:auto}
.gc-cgpt h1,.gc-cgpt h2,.gc-cgpt h3,.gc-cgpt h4{font-weight:700}
.gc-cgpt b,.gc-cgpt strong{font-weight:700}

/* 問い合わせフォーム（.gc-cgpt の外に配置）：現行ページと同じ見た目に */
#lp-format :where(.contact_wrapper) section{padding:88px 0}
@media (max-width:760px){#lp-format :where(.contact_wrapper) section{padding:56px 0}}
#lp-format .service_contact .section_title,
#lp-format .service_contact .service_contact_message.service_content,
#lp-format .service_contact .isms{display:none}

/* ---------- 2) LP本体 ---------- */
/* =========================================================
   ChatGPT広告 LP（/service/chatgpt/）
   - 配色：#033e80（メイン）/ #0290ee（アクセント）/ #333（本文）/ #fbfbfb（背景）/ CTA オレンジ
   - 書体：Noto Sans JP（本文）＋ Rajdhani（英数字）※既存サイトと同じ
   - すべて .gc-cgpt 配下にスコープ。既存ヘッダー・フッターには影響しません。
   - ブレイクポイント：1080px / 900px / 767px / 600px / 380px
   ========================================================= */
@charset "UTF-8";
.gc-cgpt {
  --navy: #033e80;
  --navy-d: #063774;
  --navy-m: #2c6bb2;
  --accent: #0290ee;
  --text: #333;
  --muted: #666;
  --sub: #999;
  --line: #e3e7ee;
  --bg: #fbfbfb;
  --bg2: #f5f4f4;
  --bg-blue: #eef5fc;
  --white: #fff;
  --orange: #ff7a00;
  --orange-d: #f05a00;
  --mark: rgba(255,160,40,.35);
  --llmo1: #5b3cf0;
  --llmo2: #d62bd0;
  --ff: "Noto Sans JP","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
  --ff-en: "Rajdhani","Noto Sans JP",sans-serif;
  --shadow: -4px 20px 28px 0 rgba(0,0,0,.08);
  font-family: var(--ff);
  color: var(--text);
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: .04em;
  background: var(--white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt"
}
.gc-cgpt *,
.gc-cgpt ::after,
.gc-cgpt ::before {
  box-sizing: border-box
}
.gc-cgpt dd,
.gc-cgpt dl,
.gc-cgpt figure,
.gc-cgpt h1,
.gc-cgpt h2,
.gc-cgpt h3,
.gc-cgpt h4,
.gc-cgpt ol,
.gc-cgpt p,
.gc-cgpt ul {
  margin: 0;
  padding: 0
}
.gc-cgpt ol,
.gc-cgpt ul {
  list-style: none
}
.gc-cgpt img {
  max-width: 100%;
  height: auto;
  display: block
}
.gc-cgpt a {
  color: inherit;
  text-decoration: none
}
.gc-cgpt a:focus-visible,
.gc-cgpt summary:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 3px
}
.gc-cgpt em {
  font-style: normal
}
.gc-cgpt .cg-icon {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none
}
.gc-cgpt .nw {
  display: inline-block
}
.gc-cgpt .cg-inner {
  max-width: 1160px;
  margin-inline: auto;
  padding-inline: 24px
}
.gc-cgpt .cg-mark {
  background: linear-gradient(transparent 62%,var(--mark) 62%)
}
.gc-cgpt .cg-sec {
  padding-block: 96px
}
.gc-cgpt .cg-sec--bg {
  background: var(--bg)
}
.gc-cgpt .cg-sec--blue {
  background: var(--bg-blue)
}
.gc-cgpt .cg-ttl {
  margin-bottom: 48px
}
.gc-cgpt .cg-ttl--c {
  text-align: center
}
.gc-cgpt .cg-ttl__en {
  display: block;
  font-family: var(--ff-en);
  letter-spacing: .06em;
  color: var(--navy)
}
.gc-cgpt .cg-ttl h2 {
  position: relative;
  font-size: clamp(24px,2.8vw,32px);
  font-weight: 700;
  line-height: 1.5;
  color: var(--text);
  text-wrap: balance
}
.gc-cgpt .cg-ttl h2 em {
  color: var(--navy)
}
.gc-cgpt .cg-ttl__lead {
  margin-top: 16px;
  color: var(--muted);
  font-size: 15px
}
.gc-cgpt .cg-ttl--c .cg-ttl__lead {
  max-width: 44em;
  margin-inline: auto
}
.gc-cgpt .cg-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 62px;
  padding: 16px 56px 16px 28px;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.4;
  text-align: center;
  color: #fff;
  background: var(--navy);
  box-shadow: var(--shadow);
  transition: background .2s,transform .2s
}
.gc-cgpt .cg-btn::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  width: 9px;
  height: 9px;
  margin-top: -5px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg)
}
.gc-cgpt .cg-btn:hover {
  background: var(--navy-m)
}
.gc-cgpt .cg-btn--primary {
  background: linear-gradient(90deg,#ff8a1f,var(--orange-d))
}
.gc-cgpt .cg-btn--primary:hover {
  background: linear-gradient(90deg,#ff9a3a,#ff6a10);
  transform: translateY(-2px)
}
.gc-cgpt .cg-btn--doc .cg-icon {
  width: 20px;
  height: 20px
}
.gc-cgpt .cg-tel {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--navy);
  line-height: 1.15
}
.gc-cgpt .cg-tel .cg-icon {
  width: 38px;
  height: 38px;
  padding: 8px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  stroke-width: 2
}
.gc-cgpt .cg-tel b {
  display: block;
  font-family: var(--ff-en);
  font-weight: 700;
  font-size: 32px;
  letter-spacing: .03em
}
.gc-cgpt .cg-tel small {
  display: block;
  font-size: 12px;
  color: var(--muted);
  letter-spacing: .02em
}
.gc-cgpt .cg-fv {
  position: relative;
  overflow: hidden;
  padding-block: 48px 64px;
  background: linear-gradient(90deg,#fbfbfb 0,#f3f7fc 36%,rgba(243,247,252,.6) 50%,rgba(243,247,252,0) 64%),radial-gradient(60% 85% at 82% 42%,#8fd0ff 0,#2fa0f5 28%,#0a6ad6 58%,#033e80 100%)
}
.gc-cgpt .cg-fv::before {
  content: "";
  position: absolute;
  inset: -20% -10% -20% 42%;
  pointer-events: none;
  opacity: .5;
  background: repeating-linear-gradient(115deg,transparent 0 46px,rgba(255,255,255,.22) 46px 47px,transparent 47px 110px),repeating-linear-gradient(160deg,transparent 0 80px,rgba(160,230,255,.25) 80px 81px,transparent 81px 170px);
  -webkit-mask-image: radial-gradient(60% 60% at 50% 45%,#000,transparent 75%);
  mask-image: radial-gradient(60% 60% at 50% 45%,#000,transparent 75%)
}
.gc-cgpt .cg-fv__rays {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(118deg,transparent 58%,rgba(255,255,255,.32) 60%,transparent 63%),linear-gradient(128deg,transparent 66%,rgba(190,240,255,.28) 67.5%,transparent 70%),linear-gradient(108deg,transparent 74%,rgba(255,255,255,.2) 75%,transparent 77%)
}
.gc-cgpt .cg-fv__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center
}
.gc-cgpt .cg-fv__label {
  display: inline-block;
  background: var(--navy);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  padding: 6px 18px;
  letter-spacing: .06em
}
.gc-cgpt .cg-fv h1 {
  margin-top: 18px;
  font-weight: 700;
  color: var(--text);
  font-size: clamp(26px,3.1vw,40px);
  line-height: 1.4;
  letter-spacing: .02em
}
.gc-cgpt .cg-fv__brand {
  font-family: var(--ff-en);
  font-weight: 700;
  font-size: 1.45em;
  line-height: 1;
  letter-spacing: .01em;
  background: linear-gradient(90deg,var(--accent),var(--navy) 75%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}
.gc-cgpt .cg-fv h1 em {
  color: var(--navy)
}
.gc-cgpt .cg-fv__sub {
  margin-top: 16px;
  font-size: clamp(16px,1.7vw,20px);
  font-weight: 700;
  line-height: 1.7
}
.gc-cgpt .cg-fv__sub em {
  color: var(--navy)
}
.gc-cgpt .cg-fv__tiles {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 8px;
  margin-top: 24px
}
.gc-cgpt .cg-fv__tiles li {
  background: #fff;
  border-top: 3px solid var(--navy);
  padding: 12px 4px 10px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  color: var(--text);
  box-shadow: 0 6px 16px rgba(3,62,128,.08);
  word-break: keep-all
}
.gc-cgpt .cg-fv__tiles .cg-icon {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 auto 6px;
  color: var(--accent)
}
.gc-cgpt .cg-fv__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px
}
.gc-cgpt .cg-fv__cta .cg-btn {
  min-height: 58px;
  font-size: 16px
}
.gc-cgpt .cg-fv .cg-tel {
  margin-top: 18px
}
.gc-cgpt .cg-fv__visual {
  position: relative;
  padding-top: 44px;
  perspective: 1600px
}
.gc-cgpt .cg-fv__badge {
  position: absolute;
  top: -16px;
  right: -6px;
  z-index: 5;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 28%,#2c6bb2 0,#063774 55%,#022b5c 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  box-shadow: 0 0 0 6px rgba(255,255,255,.2),0 14px 30px rgba(2,30,70,.45)
}
.gc-cgpt .cg-fv__badge b {
  font-family: var(--ff-en);
  font-size: 22px;
  font-weight: 700
}
.gc-cgpt .cg-fv__glow {
  position: absolute;
  left: 10%;
  right: 0;
  bottom: 4%;
  height: 60px;
  border-radius: 50%;
  background: radial-gradient(closest-side,rgba(2,30,80,.45),transparent);
  filter: blur(6px)
}
.gc-cgpt .cg-laptop {
  position: relative;
  z-index: 1;
  margin-right: 96px;
  transform: rotateY(-16deg) rotateX(5deg) rotateZ(1deg);
  transform-origin: 60% 60%
}
.gc-cgpt .cg-pc {
  position: relative;
  border-radius: 14px 14px 4px 4px;
  padding: 9px;
  background: linear-gradient(180deg,#2a3346,#141b29);
  box-shadow: 0 30px 60px rgba(2,30,80,.45),inset 0 0 0 1px rgba(255,255,255,.08)
}
.gc-cgpt .cg-pc::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 50%;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  border-radius: 50%;
  background: #3a4458
}
.gc-cgpt .cg-pc::after {
  content: "";
  position: absolute;
  inset: 9px;
  border-radius: 6px;
  background: linear-gradient(115deg,rgba(255,255,255,.28) 0,rgba(255,255,255,0) 32%);
  pointer-events: none
}
.gc-cgpt .cg-laptop__base {
  position: relative;
  height: 22px;
  margin: 0 -9%;
  background: linear-gradient(180deg,#e9edf3 0,#c3cbd7 55%,#8e99aa 100%);
  clip-path: polygon(4% 0,96% 0,100% 70%,98% 100%,2% 100%,0 70%)
}
.gc-cgpt .cg-laptop__base::before {
  content: "";
  position: absolute;
  top: 0;
  left: 42%;
  right: 42%;
  height: 6px;
  border-radius: 0 0 8px 8px;
  background: #aeb7c4
}
.gc-cgpt .cg-app {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: .02em;
  color: #0d0d0d;
  display: flex;
  flex-direction: column
}
.gc-cgpt .cg-app__bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid #f0f0f0
}
.gc-cgpt .cg-app__side {
  display: grid;
  gap: 3px;
  width: 16px
}
.gc-cgpt .cg-app__side i {
  height: 2px;
  background: #8f8f8f;
  border-radius: 1px
}
.gc-cgpt .cg-app__model {
  font-weight: 700;
  font-size: 14px
}
.gc-cgpt .cg-app__model small {
  color: #8f8f8f;
  font-size: 10px
}
.gc-cgpt .cg-app__body {
  padding: 16px 20px 10px;
  display: grid;
  gap: 12px
}
.gc-cgpt .cg-app__q {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px
}
.gc-cgpt .cg-app__user {
  max-width: 80%;
  background: #f4f4f4;
  border-radius: 18px;
  padding: 8px 14px
}
.gc-cgpt .cg-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #d5dae2;
  flex: none
}
.gc-cgpt .cg-app__answer p {
  margin-bottom: 6px
}
.gc-cgpt .cg-app__answer ol {
  padding-left: 1.4em;
  display: grid;
  gap: 2px
}
.gc-cgpt .cg-app__answer ol li {
  list-style: decimal
}
.gc-cgpt .cg-app__input {
  margin: 4px 20px 14px;
  border: 1px solid #e3e3e3;
  border-radius: 999px;
  padding: 8px 8px 8px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #8f8f8f;
  font-size: 12px
}
.gc-cgpt .cg-app__input b {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #0d0d0d;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px
}
.gc-cgpt .cg-adx {
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  padding: 10px 14px 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(3,62,128,.1)
}
.gc-cgpt .cg-adx__meta {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #8f8f8f;
  margin-bottom: 8px
}
.gc-cgpt .cg-adx__row {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 12px;
  align-items: start
}
.gc-cgpt .cg-adx .cg-mh {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.45
}
.gc-cgpt .cg-adx__name {
  font-size: 12px;
  font-weight: 700;
  color: var(--accent);
  margin-top: 3px
}
.gc-cgpt .cg-adx__desc {
  font-size: 12px;
  color: #5d5d5d;
  line-height: 1.6;
  margin-top: 2px
}
.gc-cgpt .cg-adx__more {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--navy);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 3px 12px;
  background: var(--bg-blue)
}
.gc-cgpt .cg-sp {
  position: absolute;
  top: 110px;
  right: -14px;
  z-index: 3;
  width: 150px;
  height: 300px;
  background: #fff;
  border: 6px solid #1d2636;
  border-radius: 24px;
  padding: 18px 8px 14px;
  transform: rotateY(-10deg) rotateZ(3deg);
  box-shadow: 0 24px 44px rgba(2,30,80,.5);
  font-size: 10px;
  color: #0d0d0d;
  letter-spacing: 0
}
.gc-cgpt .cg-sp__notch {
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 8px;
  border-radius: 6px;
  background: #1d2636
}
.gc-cgpt .cg-sp__bar {
  font-weight: 700;
  font-size: 11px;
  text-align: center
}
.gc-cgpt .cg-sp__bar small {
  color: #8f8f8f;
  font-size: 8px
}
.gc-cgpt .cg-sp__user {
  margin: 8px 0 0 auto;
  width: fit-content;
  max-width: 90%;
  background: #f4f4f4;
  border-radius: 12px;
  padding: 4px 8px;
  line-height: 1.5
}
.gc-cgpt .cg-sp__lines {
  display: grid;
  gap: 5px;
  margin-top: 8px
}
.gc-cgpt .cg-sp__lines i {
  height: 6px;
  border-radius: 3px;
  background: #e9eef5
}
.gc-cgpt .cg-sp__lines i:nth-child(2n) {
  width: 75%
}
.gc-cgpt .cg-svc {
  position: absolute;
  right: -40px;
  bottom: 6px;
  z-index: 4;
  width: 178px;
  background: rgba(255,255,255,.97);
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 18px 36px rgba(2,30,80,.35)
}
.gc-cgpt .cg-svc p {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy)
}
.gc-cgpt .cg-svc p .cg-icon {
  width: 18px;
  height: 18px;
  color: var(--accent)
}
.gc-cgpt .cg-svc li {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 7px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg-blue);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 0
}
.gc-cgpt .cg-svc li i {
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background: linear-gradient(135deg,var(--accent),var(--navy));
  flex: none
}
.gc-cgpt .cg-fv__caption {
  position: relative;
  z-index: 1;
  margin-top: 22px;
  font-size: 12px;
  color: #eaf3ff
}
.gc-cgpt .cg-worry {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px
}
.gc-cgpt .cg-worry li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 20px;
  background: #fff;
  border: 1px solid var(--line);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.55
}
.gc-cgpt .cg-worry li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--navy)
}
.gc-cgpt .cg-worry .cg-icon {
  width: 40px;
  height: 40px;
  color: var(--navy)
}
.gc-cgpt .cg-solve {
  position: relative;
  margin-top: 56px;
  text-align: center
}
.gc-cgpt .cg-solve::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: 0 auto 28px;
  border-left: 36px solid transparent;
  border-right: 36px solid transparent;
  border-top: 24px solid var(--navy)
}
.gc-cgpt .cg-solve p {
  font-size: clamp(20px,2.4vw,28px);
  font-weight: 700;
  line-height: 1.6
}
.gc-cgpt .cg-solve p em {
  color: var(--navy)
}
.gc-cgpt .cg-about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center
}
.gc-cgpt .cg-about__txt .cg-ttl {
  margin-bottom: 24px
}
.gc-cgpt .cg-about__txt p + p {
  margin-top: 16px
}
.gc-cgpt .cg-about__mock {
  background: #fff;
  border: 1px solid var(--line);
  padding: 22px;
  box-shadow: var(--shadow)
}
.gc-cgpt .cg-about__mock .cg-app {
  font-size: 14px
}
.gc-cgpt .cg-about__mock .cg-adx {
  margin-top: 14px
}
.gc-cgpt .cg-about__cap {
  font-size: 12px;
  color: var(--sub);
  margin-top: 10px;
  text-align: right
}
.gc-cgpt .cg-goals {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin-top: 64px
}
.gc-cgpt .cg-goals li {
  background: #fff;
  padding: 28px 24px;
  text-align: center;
  box-shadow: var(--shadow);
  border-bottom: 4px solid var(--navy)
}
.gc-cgpt .cg-goals .cg-icon {
  width: 48px;
  height: 48px;
  color: var(--accent);
  margin: 0 auto
}
.gc-cgpt .cg-goals h3 {
  font-size: 18px;
  font-weight: 700;
  margin-top: 6px
}
.gc-cgpt .cg-goals p {
  font-size: 14px;
  color: var(--muted);
  margin-top: 8px;
  line-height: 1.75
}
.gc-cgpt .cg-market {
  position: relative;
  background: linear-gradient(135deg,#022b5c 0,var(--navy) 50%,#0a5bb8 100%);
  color: #fff;
  overflow: hidden
}
.gc-cgpt .cg-market::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(115deg,transparent 0 80px,rgba(255,255,255,.05) 80px 81px);
  pointer-events: none
}
.gc-cgpt .cg-market .cg-ttl h2 {
  color: #fff
}
.gc-cgpt .cg-market .cg-ttl h2 em {
  color: #7fd0ff
}
.gc-cgpt .cg-stats {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.18)
}
.gc-cgpt .cg-stats li {
  background: rgba(3,62,128,.92);
  padding: 32px 28px;
  text-align: center
}
.gc-cgpt .cg-stats .cg-stats__num {
  font-family: var(--ff-en);
  font-weight: 700;
  font-size: 64px;
  line-height: 1;
  color: #fff
}
.gc-cgpt .cg-stats .cg-stats__num small {
  font-family: var(--ff);
  font-size: 22px;
  font-weight: 700;
  margin-left: 4px
}
.gc-cgpt .cg-stats .cg-stats__num .cg-pre {
  font-family: var(--ff);
  font-size: 22px;
  font-weight: 700;
  margin-right: 6px
}
.gc-cgpt .cg-stats h3 {
  margin-top: 12px;
  font-size: 17px;
  font-weight: 700;
  color: #7fd0ff
}
.gc-cgpt .cg-stats p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.75;
  color: #d6e4f5
}
.gc-cgpt .cg-stats cite {
  display: block;
  margin-top: 10px;
  font-style: normal;
  font-size: 11px;
  color: #a8bfdc
}
.gc-cgpt .cg-market__note {
  position: relative;
  margin-top: 20px;
  text-align: center;
  font-size: 13px;
  color: #a8bfdc
}
.gc-cgpt .cg-shift {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 20px;
  align-items: stretch;
  max-width: 860px;
  margin: 0 auto 56px
}
.gc-cgpt .cg-shift__box {
  background: #fff;
  border: 1px solid var(--line);
  padding: 24px;
  text-align: center
}
.gc-cgpt .cg-shift__box h3 {
  font-size: 18px;
  font-weight: 700;
  margin-top: 6px
}
.gc-cgpt .cg-shift__box p {
  font-size: 14px;
  color: var(--muted);
  margin-top: 6px
}
.gc-cgpt .cg-shift__box--new {
  border: 2px solid var(--navy);
  background: var(--bg-blue)
}
.gc-cgpt .cg-shift__box--new h3 {
  color: var(--navy)
}
.gc-cgpt .cg-shift__arrow {
  align-self: center;
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 24px solid var(--navy)
}
.gc-cgpt .cg-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch
}
.gc-cgpt .cg-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 15px;
  text-align: center;
  background: #fff
}
.gc-cgpt .cg-table td,
.gc-cgpt .cg-table th {
  padding: 16px 12px;
  border: 1px solid var(--line);
  line-height: 1.6
}
.gc-cgpt .cg-table thead th {
  background: var(--bg2);
  font-weight: 700
}
.gc-cgpt .cg-table tbody th {
  background: var(--bg);
  font-weight: 700;
  width: 18%
}
.gc-cgpt .cg-table .cg-col-ad {
  background: var(--bg-blue);
  color: var(--navy);
  font-weight: 700
}
.gc-cgpt .cg-table thead .cg-col-ad {
  background: var(--navy);
  color: #fff;
  font-size: 17px
}
.gc-cgpt .cg-note-sp {
  display: none;
  font-size: 13px;
  color: var(--sub);
  margin-bottom: 8px
}
.gc-cgpt .cg-combo {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: start
}
.gc-cgpt .cg-combo__x {
  align-self: center;
  font: 700 64px/1 var(--ff-en);
  color: var(--navy)
}
.gc-cgpt .cg-combo__card {
  background: #fff;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column
}
.gc-cgpt .cg-combo__head {
  padding: 14px 20px;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.5
}
.gc-cgpt .cg-combo__head span {
  display: block;
  font-size: 22px
}
.gc-cgpt .cg-combo__card--llmo .cg-combo__head {
  background: linear-gradient(90deg,var(--llmo1),var(--llmo2))
}
.gc-cgpt .cg-combo__card--ad .cg-combo__head {
  background: var(--navy)
}
.gc-cgpt .cg-combo__body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px
}
.gc-cgpt .cg-llmoa-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px
}
.gc-cgpt .cg-llmoa-logo img {
  width: auto;
  height: 34px
}
.gc-cgpt .cg-llmoa-logo small {
  font-size: 12px;
  color: var(--muted);
  text-align: center
}
.gc-cgpt .cg-link {
  align-self: flex-start;
  font-size: 14px;
  font-weight: 700;
  border-bottom: 1px solid currentColor
}
.gc-cgpt .cg-link::after {
  content: " ↗"
}
.gc-cgpt .cg-link--llmo {
  color: var(--llmo1)
}
.gc-cgpt .cg-checks {
  display: grid;
  gap: 14px;
  border-top: 1px dashed var(--line);
  padding-top: 18px
}
.gc-cgpt .cg-checks li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6
}
.gc-cgpt .cg-check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  margin-top: 2px
}
.gc-cgpt .cg-check .cg-icon {
  width: 14px;
  height: 14px;
  stroke-width: 3
}
.gc-cgpt .cg-why__intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center
}
.gc-cgpt .cg-why__intro .cg-ttl {
  margin-bottom: 0
}
.gc-cgpt .cg-why__intro p {
  margin-top: 14px
}
.gc-cgpt .cg-why__no {
  font-family: var(--ff-en);
  font-weight: 700;
  color: var(--accent);
  letter-spacing: .1em;
  line-height: 1
}
.gc-cgpt .cg-why__no b {
  font-size: 44px;
  margin-left: 6px;
  color: var(--navy);
  font-family: var(--ff-en)
}
.gc-cgpt .cg-why h3 {
  font-size: clamp(20px,2.2vw,26px);
  font-weight: 700;
  line-height: 1.5;
  margin-top: 10px
}
.gc-cgpt .cg-why__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}
.gc-cgpt .cg-why__badges li {
  border: 1px solid var(--line);
  display: flex;
  align-items: center
}
.gc-cgpt .cg-why__list {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin-top: 20px
}
.gc-cgpt .cg-why__card {
  background: #fff;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  overflow: hidden
}
.gc-cgpt .cg-why__card-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1
}
.gc-cgpt .cg-why__card h3 {
  font-size: 19px;
  margin-top: 0
}
.gc-cgpt .cg-why__card p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.8
}
.gc-cgpt .cg-steps {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px
}
.gc-cgpt .cg-steps li {
  position: relative;
  background: #fff;
  padding: 28px 24px 26px;
  box-shadow: var(--shadow)
}
.gc-cgpt .cg-steps__no {
  position: absolute;
  right: 18px;
  top: 10px;
  font-family: var(--ff-en);
  font-weight: 700;
  font-size: 56px;
  line-height: 1;
  color: var(--navy);
  opacity: .1
}
.gc-cgpt .cg-steps .cg-icon {
  width: 40px;
  height: 40px;
  color: var(--accent)
}
.gc-cgpt .cg-steps h3 {
  font-size: 18px;
  font-weight: 700;
  margin-top: 12px
}
.gc-cgpt .cg-steps p {
  font-size: 14px;
  color: var(--muted);
  margin-top: 6px;
  line-height: 1.75
}
.gc-cgpt .cg-ctabar {
  background: var(--bg-blue);
  padding-block: 48px
}
.gc-cgpt .cg-ctabar__in {
  text-align: center
}
.gc-cgpt .cg-ctabar__ttl {
  font-size: clamp(18px,2vw,22px);
  font-weight: 700
}
.gc-cgpt .cg-ctabar__ttl em {
  color: var(--navy)
}
.gc-cgpt .cg-ctabar__txt {
  font-size: 14px;
  color: var(--muted);
  margin-top: 4px
}
.gc-cgpt .cg-ctabar__btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 16px 28px;
  margin-top: 22px
}
.gc-cgpt .cg-plan {
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  box-shadow: var(--shadow)
}
.gc-cgpt .cg-plan__head {
  background: var(--navy);
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  padding: 14px
}
.gc-cgpt .cg-plan dl {
  display: grid;
  grid-template-columns: repeat(4,1fr)
}
.gc-cgpt .cg-plan dl div {
  padding: 26px 16px;
  text-align: center;
  border-right: 1px solid var(--line)
}
.gc-cgpt .cg-plan dl div:last-child {
  border-right: 0
}
.gc-cgpt .cg-plan dt {
  font-size: 14px;
  font-weight: 700;
  color: var(--muted)
}
.gc-cgpt .cg-plan dd {
  margin-top: 6px;
  font-family: var(--ff-en);
  font-weight: 700;
  font-size: 44px;
  line-height: 1.1;
  color: var(--navy)
}
.gc-cgpt .cg-plan dd small {
  font-family: var(--ff);
  font-size: 16px;
  margin-left: 2px
}
.gc-cgpt .cg-plan dd.cg-txt {
  font-family: var(--ff);
  font-size: 24px;
  line-height: 1.9
}
.gc-cgpt .cg-plan__note {
  padding: 16px 24px 22px;
  font-size: 13px;
  color: var(--muted);
  border-top: 1px solid var(--line)
}
.gc-cgpt .cg-faq {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  gap: 12px
}
.gc-cgpt .cg-faq details {
  background: #fff;
  border: 1px solid var(--line)
}
.gc-cgpt .cg-faq summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 18px 22px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6
}
.gc-cgpt .cg-faq summary::-webkit-details-marker {
  display: none
}
.gc-cgpt .cg-faq__a::before,
.gc-cgpt .cg-faq__q {
  font-family: var(--ff-en);
  font-weight: 700;
  font-size: 26px;
  line-height: 1;
  color: var(--navy)
}
.gc-cgpt .cg-faq__pm {
  position: relative;
  width: 16px;
  height: 16px
}
.gc-cgpt .cg-faq__pm::after,
.gc-cgpt .cg-faq__pm::before {
  content: "";
  position: absolute;
  background: var(--navy)
}
.gc-cgpt .cg-faq__pm::before {
  left: 0;
  right: 0;
  top: 7px;
  height: 2px
}
.gc-cgpt .cg-faq__pm::after {
  top: 0;
  bottom: 0;
  left: 7px;
  width: 2px;
  transition: transform .2s
}
.gc-cgpt .cg-faq details[open] .cg-faq__pm::after {
  transform: scaleY(0)
}
.gc-cgpt .cg-faq__a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  padding: 0 22px 20px;
  font-size: 15px;
  line-height: 1.85
}
.gc-cgpt .cg-faq__a::before {
  content: "A";
  color: var(--orange)
}
.gc-cgpt .cg-cta {
  position: relative;
  background: linear-gradient(135deg,#022b5c,var(--navy) 55%,#0a5bb8);
  color: #fff;
  overflow: hidden
}
.gc-cgpt .cg-cta::before {
  content: "CONTACT";
  position: absolute;
  right: -10px;
  bottom: -20px;
  font: 700 180px/1 var(--ff-en);
  color: rgba(255,255,255,.05);
  pointer-events: none
}
.gc-cgpt .cg-cta__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 48px;
  align-items: center;
  padding-block: 72px
}
.gc-cgpt .cg-cta h2 {
  font-size: clamp(22px,2.6vw,30px);
  font-weight: 700;
  line-height: 1.55
}
.gc-cgpt .cg-cta ul.cg-cta__list {
  margin-top: 20px;
  display: grid;
  gap: 10px
}
.gc-cgpt .cg-cta__list li {
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: 700
}
.gc-cgpt .cg-cta .cg-check {
  background: #fff;
  color: var(--navy);
  margin-top: 0
}
.gc-cgpt .cg-cta__btns {
  display: grid;
  gap: 14px
}
.gc-cgpt .cg-cta__btns .cg-btn {
  min-height: 76px;
  font-size: 20px
}
.gc-cgpt .cg-cta__btns .cg-btn--doc {
  background: #fff;
  color: var(--navy);
  min-height: 60px;
  font-size: 16px
}
.gc-cgpt .cg-cta__btns .cg-btn--doc:hover {
  background: #eaf3ff
}
.gc-cgpt .cg-cta .cg-tel {
  justify-content: center;
  color: #fff
}
.gc-cgpt .cg-cta .cg-tel .cg-icon {
  background: #fff;
  color: var(--navy)
}
.gc-cgpt .cg-cta .cg-tel small {
  color: #bcd3ee
}
.gc-cgpt .cg-cta__tags {
  display: flex;
  justify-content: center;
  gap: 8px
}
.gc-cgpt .cg-cta__tags li {
  font-size: 13px;
  border: 1px solid rgba(255,255,255,.5);
  padding: 2px 12px
}
@media (max-width:900px) {
  .gc-cgpt .cg-fv {
    background: linear-gradient(180deg,#fbfbfb 0,#f3f7fc 46%,rgba(243,247,252,0) 62%),radial-gradient(90% 55% at 60% 85%,#8fd0ff 0,#2fa0f5 35%,#0a6ad6 70%,#033e80 100%)
  }
  .gc-cgpt .cg-fv::before {
    inset: 40% -20% -10% -20%
  }
  .gc-cgpt .cg-about,
  .gc-cgpt .cg-combo,
  .gc-cgpt .cg-cta__inner,
  .gc-cgpt .cg-fv__grid,
  .gc-cgpt .cg-why__intro {
    grid-template-columns: 1fr
  }
  .gc-cgpt .cg-combo__x {
    text-align: center;
    font-size: 48px
  }
  .gc-cgpt .cg-steps,
  .gc-cgpt .cg-why__list,
  .gc-cgpt .cg-worry {
    grid-template-columns: 1fr 1fr
  }
}
@media (max-width:767px) {
  .gc-cgpt {
    font-size: 15px
  }
  .gc-cgpt .cg-br-sp {
    display: inline
  }
  .gc-cgpt .cg-inner {
    padding-inline: 16px
  }
  .gc-cgpt .cg-sec {
    padding-block: 64px
  }
  .gc-cgpt .cg-ttl {
    margin-bottom: 32px
  }
  .gc-cgpt .cg-fv {
    padding-block: 32px 40px
  }
  .gc-cgpt .cg-fv__tiles {
    grid-template-columns: repeat(3,1fr)
  }
  .gc-cgpt .cg-fv__cta {
    flex-direction: column
  }
  .gc-cgpt .cg-fv__cta .cg-btn {
    width: 100%
  }
  .gc-cgpt .cg-tel {
    width: 100%;
    justify-content: center;
    background: #fff;
    padding: 10px;
    border: 1px solid var(--line)
  }
  .gc-cgpt .cg-tel b {
    font-size: 28px
  }
  .gc-cgpt .cg-cta .cg-tel {
    background: 0 0;
    border-color: rgba(255,255,255,.3)
  }
  .gc-cgpt .cg-laptop {
    margin-right: 0;
    transform: none
  }
  .gc-cgpt .cg-laptop__base {
    margin: 0 -5%;
    height: 14px
  }
  .gc-cgpt .cg-sp,
  .gc-cgpt .cg-svc {
    display: none
  }
  .gc-cgpt .cg-fv__badge {
    width: 104px;
    height: 104px;
    top: -4px;
    right: -4px;
    font-size: 12px
  }
  .gc-cgpt .cg-fv__badge b {
    font-size: 17px
  }
  .gc-cgpt .cg-fv__caption {
    text-align: center
  }
  .gc-cgpt .cg-app__body {
    padding: 12px 12px 8px
  }
  .gc-cgpt .cg-app__input {
    margin: 4px 12px 12px
  }
  .gc-cgpt .cg-adx__row {
    grid-template-columns: 44px 1fr
  }
  .gc-cgpt .cg-worry {
    grid-template-columns: 1fr;
    gap: 10px
  }
  .gc-cgpt .cg-worry li {
    padding: 16px 18px;
    font-size: 15px
  }
  .gc-cgpt .cg-worry li br {
    display: none
  }
  .gc-cgpt .cg-worry .cg-icon {
    width: 32px;
    height: 32px
  }
  .gc-cgpt .cg-goals,
  .gc-cgpt .cg-stats,
  .gc-cgpt .cg-steps,
  .gc-cgpt .cg-why__list {
    grid-template-columns: 1fr
  }
  .gc-cgpt .cg-goals {
    margin-top: 40px;
    gap: 12px
  }
  .gc-cgpt .cg-stats .cg-stats__num {
    font-size: 52px
  }
  .gc-cgpt .cg-shift {
    grid-template-columns: 1fr;
    gap: 12px
  }
  .gc-cgpt .cg-shift__arrow {
    justify-self: center;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-top: 20px solid var(--navy);
    border-bottom: 0
  }
  .gc-cgpt .cg-note-sp {
    display: block
  }
  .gc-cgpt .cg-plan dl {
    grid-template-columns: 1fr 1fr
  }
  .gc-cgpt .cg-plan dl div:nth-child(2) {
    border-right: 0
  }
  .gc-cgpt .cg-plan dl div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line)
  }
  .gc-cgpt .cg-plan dd {
    font-size: 36px
  }
  .gc-cgpt .cg-faq summary {
    padding: 16px;
    font-size: 15px;
    gap: 12px
  }
  .gc-cgpt .cg-faq__a {
    padding: 0 16px 16px
  }
  .gc-cgpt .cg-ctabar__btns {
    flex-direction: column;
    align-items: stretch
  }
  .gc-cgpt .cg-cta__inner {
    padding-block: 56px;
    gap: 28px
  }
  .gc-cgpt .cg-cta::before {
    font-size: 90px
  }
  .gc-cgpt .cg-cta__btns .cg-btn {
    min-height: 64px;
    font-size: 18px
  }
}
.gc-cgpt .cg-br-sp {
  display: none
}
@media (max-width:380px) {
  .gc-cgpt .cg-fv__tiles {
    grid-template-columns: repeat(2,1fr)
  }
}
@media (prefers-reduced-motion:reduce) {
  .gc-cgpt .cg-laptop,
  .gc-cgpt .cg-sp {
    transform: none
  }
  .gc-cgpt .cg-btn,
  .gc-cgpt .cg-faq__pm::after {
    transition: none
  }
}
.gc-cgpt .cg-ttl__en {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--ff);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .12em;
  line-height: 1.4;
  color: var(--accent);
  margin-bottom: 12px
}
.gc-cgpt .cg-ttl--c .cg-ttl__en::after,
.gc-cgpt .cg-ttl__en::before {
  content: "";
  width: 28px;
  height: 2px;
  background: currentColor
}
.gc-cgpt .cg-market .cg-ttl__en {
  color: #7fd0ff
}
.gc-cgpt .cg-goal {
  display: block;
  margin-top: 8px;
  font-size: 28px;
  font-weight: 900;
  color: var(--navy);
  line-height: 1.2
}
.gc-cgpt .cg-shift__tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  padding: 2px 14px;
  background: var(--bg2);
  color: var(--muted)
}
.gc-cgpt .cg-shift__box--new .cg-shift__tag {
  background: var(--navy);
  color: #fff
}
.gc-cgpt .cg-why__no {
  font-family: var(--ff);
  font-size: 14px
}
.gc-cgpt .cg-why__list {
  grid-template-columns: repeat(2,1fr)
}
.gc-cgpt .cg-adimg {
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(3,62,128,.12);
  box-shadow: none;
  border-radius: 0
}
.gc-cgpt .cg-adimg img {
  width: 100%
}
@media (max-width:767px) {
  .gc-cgpt .cg-why__list {
    grid-template-columns: 1fr
  }
}
.gc-cgpt .cg-dash__cap {
  font-weight: 700;
  color: var(--text);
  font-size: 13px
}
.gc-cgpt .cg-dash__cap small {
  font-size: 11px;
  font-weight: 400;
  color: var(--sub);
  display: inline;
  margin-left: 8px
}
.gc-cgpt .cg-why__badges li {
  flex-direction: column;
  align-items: flex-start;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.4;
  border-left: 3px solid var(--navy)
}
.gc-cgpt .cg-why__badges small {
  font-size: 11px;
  font-weight: 400;
  color: var(--muted)
}
.gc-cgpt .cg-why__intro {
  grid-template-columns: 1fr;
  max-width: 820px;
  margin: 0 auto 48px;
  text-align: center
}
.gc-cgpt .cg-why__intro .cg-ttl__en::after {
  content: "";
  width: 28px;
  height: 2px;
  background: currentColor
}
.gc-cgpt .cg-why__card-body {
  padding: 32px 28px
}
.gc-cgpt .cg-adx__thumb {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  object-fit: cover;
  box-shadow: 0 2px 6px rgba(3,62,128,.15)
}
.gc-cgpt .cg-adx__row {
  grid-template-columns: 72px 1fr
}
.gc-cgpt .cg-adx__row .cg-adx__thumb {
  width: 72px;
  height: 72px
}
@media (max-width:767px) {
  .gc-cgpt .cg-why__intro {
    text-align: left
  }
  .gc-cgpt .cg-adx__row {
    grid-template-columns: 56px 1fr
  }
  .gc-cgpt .cg-adx__row .cg-adx__thumb {
    width: 56px;
    height: 56px
  }
}
.gc-cgpt .cg-combo {
  align-items: stretch
}
.gc-cgpt .cg-combo__card {
  height: 100%
}
.gc-cgpt .cg-combo__body {
  justify-content: center;
  gap: 14px
}
.gc-cgpt .cg-combo__card--llmo .cg-combo__head {
  font-size: 15px
}
.gc-cgpt .cg-combo__card--llmo .cg-combo__body {
  padding: 18px 22px 22px
}
.gc-cgpt .cg-combo__card--llmo .cg-link {
  align-self: flex-end;
  font-size: 13px
}
.gc-cgpt .cg-why__badges {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  margin-top: 22px
}
.gc-cgpt .cg-why__badges li {
  height: auto;
  padding: 6px;
  border: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center
}
.gc-cgpt .cg-why__badges img {
  width: 100%;
  height: auto;
  max-height: 72px;
  object-fit: contain
}
.gc-cgpt .cg-fv .cg-adx__row {
  grid-template-columns: 88px 1fr
}
@media (max-width:767px) {
  .gc-cgpt {
    font-size: 14px;
    line-height: 1.75
  }
  .gc-cgpt .cg-sec {
    padding-block: 44px
  }
  .gc-cgpt .cg-ttl {
    margin-bottom: 22px
  }
  .gc-cgpt .cg-ttl h2 {
    font-size: 20px
  }
  .gc-cgpt .cg-ttl__en {
    font-size: 12px;
    margin-bottom: 6px
  }
  .gc-cgpt .cg-ttl__lead {
    font-size: 13px;
    margin-top: 8px
  }
  .gc-cgpt .cg-fv {
    padding-block: 20px 28px;
    background: linear-gradient(180deg,#fbfbfb 0,#f3f7fc 28%,rgba(243,247,252,0) 44%),radial-gradient(110% 60% at 60% 55%,#8fd0ff 0,#2fa0f5 35%,#0a6ad6 70%,#033e80 100%)
  }
  .gc-cgpt .cg-fv__grid {
    display: flex;
    flex-direction: column;
    gap: 0
  }
  .gc-cgpt .cg-fv__txt {
    display: contents
  }
  .gc-cgpt .cg-fv__label {
    order: 1;
    align-self: flex-start;
    font-size: 12px;
    padding: 4px 12px
  }
  .gc-cgpt .cg-fv h1 {
    order: 2;
    font-size: 22px;
    margin-top: 10px
  }
  .gc-cgpt .cg-fv__sub {
    order: 3;
    font-size: 14px;
    margin-top: 8px
  }
  .gc-cgpt .cg-fv__visual {
    order: 4;
    padding-top: 14px;
    margin: 4px 0 0
  }
  .gc-cgpt .cg-fv__tiles {
    order: 5;
    grid-template-columns: repeat(5,1fr);
    gap: 4px;
    margin-top: 16px
  }
  .gc-cgpt .cg-fv__tiles li {
    padding: 6px 2px;
    border-top-width: 2px;
    line-height: 1.35
  }
  .gc-cgpt .cg-fv__tiles li br {
    display: none
  }
  .gc-cgpt .cg-fv__tiles .cg-icon {
    width: 20px;
    height: 20px;
    margin-bottom: 3px
  }
  .gc-cgpt .cg-fv__cta {
    order: 6;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 14px
  }
  .gc-cgpt .cg-fv__cta .cg-btn {
    min-height: 50px
  }
  .gc-cgpt .cg-fv__cta .cg-btn::after {
    width: 7px;
    height: 7px;
    right: 9px
  }
  .gc-cgpt .cg-fv__cta .cg-btn--doc .cg-icon {
    display: none
  }
  .gc-cgpt .cg-fv .cg-tel {
    order: 7;
    margin-top: 8px;
    padding: 6px
  }
  .gc-cgpt .cg-tel b {
    font-size: 24px
  }
  .gc-cgpt .cg-tel .cg-icon {
    width: 32px;
    height: 32px;
    padding: 7px
  }
  .gc-cgpt .cg-fv__caption {
    order: 4;
    margin-top: 6px;
    font-size: 10px;
    color: var(--sub)
  }
  .gc-cgpt .cg-fv__badge {
    width: 84px;
    height: 84px;
    font-size: 10px;
    top: -2px;
    right: -2px
  }
  .gc-cgpt .cg-fv__badge b {
    font-size: 14px
  }
  .gc-cgpt .cg-app {
    font-size: 11px
  }
  .gc-cgpt .cg-app__answer,
  .gc-cgpt .cg-app__input {
    display: none
  }
  .gc-cgpt .cg-fv .cg-adx__row {
    grid-template-columns: 72px 1fr
  }
  .gc-cgpt .cg-fv .cg-adx__row .cg-adx__thumb {
    width: 72px;
    height: 72px
  }
  .gc-cgpt .cg-adx .cg-mh {
    font-size: 13px
  }
  .gc-cgpt .cg-worry {
    grid-template-columns: 1fr 1fr;
    gap: 8px
  }
  .gc-cgpt .cg-worry li {
    flex-direction: column;
    text-align: center;
    gap: 6px;
    padding: 12px 8px;
    font-size: 12.5px
  }
  .gc-cgpt .cg-worry li::before {
    width: 100%;
    height: 3px;
    bottom: auto
  }
  .gc-cgpt .cg-worry .cg-icon {
    width: 26px;
    height: 26px
  }
  .gc-cgpt .cg-solve {
    margin-top: 28px
  }
  .gc-cgpt .cg-solve::before {
    border-left-width: 24px;
    border-right-width: 24px;
    border-top-width: 16px;
    margin-bottom: 16px
  }
  .gc-cgpt .cg-solve p {
    font-size: 17px
  }
  .gc-cgpt .cg-about {
    gap: 20px
  }
  .gc-cgpt .cg-about__mock {
    padding: 14px
  }
  .gc-cgpt .cg-goals {
    grid-template-columns: repeat(3,1fr);
    gap: 6px;
    margin-top: 24px
  }
  .gc-cgpt .cg-goals li {
    padding: 14px 6px;
    border-bottom-width: 3px
  }
  .gc-cgpt .cg-goals .cg-icon {
    width: 28px;
    height: 28px
  }
  .gc-cgpt .cg-goal {
    font-size: 18px
  }
  .gc-cgpt .cg-goals h3 {
    font-size: 11.5px;
    line-height: 1.5
  }
  .gc-cgpt .cg-goals p {
    display: none
  }
  .gc-cgpt .cg-stats li {
    padding: 18px 16px
  }
  .gc-cgpt .cg-stats .cg-stats__num {
    font-size: 42px
  }
  .gc-cgpt .cg-stats h3 {
    font-size: 15px;
    margin-top: 6px
  }
  .gc-cgpt .cg-stats p {
    font-size: 12.5px;
    margin-top: 6px
  }
  .gc-cgpt .cg-market__note {
    font-size: 11px
  }
  .gc-cgpt .cg-shift {
    grid-template-columns: 1fr auto 1fr;
    gap: 6px;
    margin-bottom: 24px
  }
  .gc-cgpt .cg-shift__arrow {
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 12px solid var(--navy);
    border-right: 0
  }
  .gc-cgpt .cg-shift__box {
    padding: 12px 8px
  }
  .gc-cgpt .cg-shift__box h3 {
    font-size: 13px
  }
  .gc-cgpt .cg-shift__box p {
    font-size: 11px
  }
  .gc-cgpt .cg-table {
    font-size: 13px;
    min-width: 600px
  }
  .gc-cgpt .cg-table td,
  .gc-cgpt .cg-table th {
    padding: 10px 8px
  }
  .gc-cgpt .cg-combo {
    gap: 10px
  }
  .gc-cgpt .cg-combo__x {
    font-size: 36px
  }
  .gc-cgpt .cg-combo__head {
    font-size: 13px;
    padding: 10px 12px
  }
  .gc-cgpt .cg-combo__head span {
    font-size: 18px
  }
  .gc-cgpt .cg-combo__body {
    padding: 16px
  }
  .gc-cgpt .cg-checks li {
    font-size: 13px
  }
  .gc-cgpt .cg-why__intro {
    margin-bottom: 24px
  }
  .gc-cgpt .cg-why__intro p {
    font-size: 13px
  }
  .gc-cgpt .cg-why h3 {
    font-size: 18px
  }
  .gc-cgpt .cg-why__badges {
    gap: 6px
  }
  .gc-cgpt .cg-why__badges img {
    max-height: 52px
  }
  .gc-cgpt .cg-why__list {
    gap: 10px;
    margin-top: 10px
  }
  .gc-cgpt .cg-why__card-body {
    padding: 18px 16px
  }
  .gc-cgpt .cg-why__card h3 {
    font-size: 16px
  }
  .gc-cgpt .cg-steps {
    grid-template-columns: 1fr 1fr;
    gap: 8px
  }
  .gc-cgpt .cg-steps li {
    padding: 14px 12px
  }
  .gc-cgpt .cg-steps .cg-icon {
    width: 26px;
    height: 26px
  }
  .gc-cgpt .cg-steps h3 {
    font-size: 14px;
    margin-top: 6px
  }
  .gc-cgpt .cg-steps p {
    font-size: 11.5px;
    line-height: 1.6
  }
  .gc-cgpt .cg-steps__no {
    font-size: 32px;
    right: 10px;
    top: 6px
  }
  .gc-cgpt .cg-ctabar {
    padding-block: 28px
  }
  .gc-cgpt .cg-ctabar__btns {
    gap: 8px;
    margin-top: 14px
  }
  .gc-cgpt .cg-ctabar__btns .cg-btn {
    min-height: 52px;
    font-size: 15px
  }
  .gc-cgpt .cg-plan dl div {
    padding: 14px 8px
  }
  .gc-cgpt .cg-plan dd {
    font-size: 30px
  }
  .gc-cgpt .cg-plan dd.cg-txt {
    font-size: 18px
  }
  .gc-cgpt .cg-faq {
    gap: 8px
  }
  .gc-cgpt .cg-faq summary {
    padding: 12px;
    font-size: 14px
  }
  .gc-cgpt .cg-faq__a::before,
  .gc-cgpt .cg-faq__q {
    font-size: 20px
  }
  .gc-cgpt .cg-faq__a {
    font-size: 13px;
    padding: 0 12px 12px
  }
  .gc-cgpt .cg-cta__inner {
    padding-block: 36px;
    gap: 18px
  }
  .gc-cgpt .cg-cta h2 {
    font-size: 19px
  }
  .gc-cgpt .cg-cta__list li {
    font-size: 13px
  }
  .gc-cgpt .cg-cta__btns .cg-btn {
    min-height: 56px;
    font-size: 16px
  }
  .gc-cgpt .cg-cta__btns .cg-btn--doc {
    min-height: 50px;
    font-size: 14px
  }
  .gc-cgpt .cg-fv__grid {
    align-items: stretch
  }
  .gc-cgpt .cg-fv__tiles {
    grid-template-columns: repeat(5,minmax(0,1fr))
  }
  .gc-cgpt .cg-fv__tiles li {
    word-break: break-all;
    min-width: 0;
    font-size: 9px;
    letter-spacing: -.03em
  }
  .gc-cgpt .cg-fv__cta .cg-btn {
    font-size: 12.5px;
    letter-spacing: 0;
    padding: 10px 22px 10px 8px
  }
  .gc-cgpt .cg-why__photo {
    height: 190px
  }
}
.gc-cgpt .cg-combo__card--ad .cg-adimg {
  margin-top: -6px
}
.gc-cgpt .cg-why__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
.gc-cgpt .cg-why__photo figcaption {
  position: absolute;
  left: 16px;
  bottom: 14px;
  background: var(--navy);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 4px 12px
}
.gc-cgpt .cg-why__photo {
  position: relative;
  order: -1;
  order: 2;
  height: auto;
  aspect-ratio: 16/9;
  margin: 0 24px 24px;
  overflow: hidden
}
.gc-cgpt .cg-why__photo--llmoa {
  aspect-ratio: auto;
  background: #fff;
  border: 1px solid var(--line)
}
.gc-cgpt .cg-why__photo--llmoa img {
  height: auto;
  object-fit: contain
}
.gc-cgpt .cg-why__card-body {
  order: 1;
  padding-bottom: 20px
}
.gc-cgpt .cg-why__llmoa-mark {
  width: 110px;
  height: auto;
  margin-top: 4px
}
.gc-cgpt .cg-chatad {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 16px;
  display: grid;
  gap: 12px
}
.gc-cgpt .cg-chatad .cg-app__user {
  font-size: 13px;
  color: #0d0d0d;
  letter-spacing: .02em
}
.gc-cgpt .cg-chatad .cg-adimg {
  margin: 0;
  border-radius: 12px;
  overflow: hidden
}
.gc-cgpt .cg-chatad__cap {
  text-align: right;
  font-size: 11px;
  color: var(--sub)
}
.gc-cgpt .cg-llmoa-shot {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  background: #fff
}
.gc-cgpt .cg-llmoa-shot img {
  width: 100%
}
.gc-cgpt .cg-aw__pre {
  font-size: 22px;
  font-weight: 700;
  margin-top: 10px;
  line-height: 1.3
}
.gc-cgpt .cg-aw__h {
  font-size: clamp(28px,3.4vw,42px)!important;
  font-weight: 900!important;
  color: var(--navy);
  margin-top: 2px!important;
  line-height: 1.25!important
}
.gc-cgpt .cg-aw__txt > p:last-child {
  margin-top: 14px;
  font-size: 14.5px;
  line-height: 1.85
}
.gc-cgpt .cg-aw__note {
  position: relative;
  margin-top: 12px;
  font-size: 11px;
  color: var(--sub)
}
.gc-cgpt .cg-aw__partners {
  position: relative;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 16px
}
.gc-cgpt .cg-aw__partners > p {
  flex: none;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted)
}
.gc-cgpt .cg-aw .cg-why__badges {
  display: grid;
  grid-template-columns: repeat(9,minmax(0,1fr));
  gap: 6px;
  margin: 0;
  flex: 1
}
.gc-cgpt .cg-aw .cg-why__badges li {
  padding: 4px;
  border: 0;
  background: 0 0
}
.gc-cgpt .cg-aw .cg-why__badges img {
  max-height: 46px
}
@media (max-width:767px) {
  .gc-cgpt .cg-aw {
    padding: 24px 14px 18px
  }
  .gc-cgpt .cg-aw__pre {
    font-size: 16px
  }
  .gc-cgpt .cg-aw__h {
    font-size: 26px!important
  }
  .gc-cgpt .cg-aw__txt > p:last-child {
    font-size: 13px
  }
  .gc-cgpt .cg-aw__partners {
    flex-direction: column;
    align-items: stretch;
    gap: 8px
  }
  .gc-cgpt .cg-aw .cg-why__badges {
    grid-template-columns: repeat(5,minmax(0,1fr))
  }
  .gc-cgpt .cg-aw .cg-why__badges img {
    max-height: 34px
  }
  .gc-cgpt .cg-why__photo {
    margin: 0 16px 16px
  }
}
.gc-cgpt .cg-llmoa-shot,
.gc-cgpt .cg-why__photo--llmoa {
  border: 0
}
.gc-cgpt .cg-aw {
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow);
  padding: 32px 32px 24px;
  background: #fff
}
.gc-cgpt .cg-aw::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg,transparent 55%,rgba(170,210,250,.25) 56%,transparent 62%),linear-gradient(115deg,transparent 68%,rgba(170,210,250,.18) 69%,transparent 74%);
  pointer-events: none;
  display: none
}
.gc-cgpt .cg-aw__img {
  margin: 0;
  border-radius: 10px;
  overflow: hidden
}
.gc-cgpt .cg-why__card .cg-aw__pre {
  font-size: 16px;
  margin-top: 8px;
  color: var(--text)
}
.gc-cgpt .cg-why__card .cg-aw__h {
  font-size: clamp(22px,2.4vw,28px)!important;
  margin-top: 4px!important
}
.gc-cgpt .cg-why__card .cg-why__card-body > p:not(.cg-why__no):not(.cg-aw__pre) {
  font-size: 14.5px;
  color: var(--text);
  line-height: 1.85
}
.gc-cgpt .cg-checks--llmo {
  border-top: 1px dashed var(--line);
  padding-top: 14px
}
.gc-cgpt .cg-checks--llmo .cg-check {
  background: linear-gradient(135deg,var(--llmo1),var(--llmo2))
}
.gc-cgpt .cg-combo__card--llmo .cg-combo__body {
  justify-content: flex-start
}
.gc-cgpt .cg-aw > .cg-aw__txt {
  margin-bottom: 22px;
  max-width: 860px;
  max-width: none
}
.gc-cgpt .cg-aw > .cg-aw__txt .cg-aw__h {
  font-size: clamp(24px,2.8vw,32px)!important
}
.gc-cgpt .cg-aw__img img,
.gc-cgpt .cg-aw__img picture {
  display: block;
  width: 100%;
  height: auto
}
.gc-cgpt .cg-aw__body {
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.95;
  max-width: none
}
@media (max-width:767px) {
  .gc-cgpt .cg-aw {
    padding: 18px 12px 14px
  }
  .gc-cgpt .cg-why__card .cg-aw__pre {
    font-size: 13px
  }
  .gc-cgpt .cg-why__card .cg-aw__h {
    font-size: 20px!important
  }
  .gc-cgpt .cg-why__card .cg-why__card-body > p:not(.cg-why__no):not(.cg-aw__pre) {
    font-size: 13px
  }
  .gc-cgpt .cg-aw > .cg-aw__txt .cg-aw__h {
    font-size: 22px!important
  }
  .gc-cgpt .cg-aw__body {
    font-size: 13px
  }
}
.gc-cgpt .cg-fv .cg-pc {
  container-type: inline-size
}
.gc-cgpt .cg-fv .cg-app {
  aspect-ratio: 16/10;
  overflow: hidden;
  font-size: 1.98cqw;
  line-height: 1.5
}
.gc-cgpt .cg-fv .cg-app__bar {
  padding: .7em 1.1em;
  gap: .9em
}
.gc-cgpt .cg-fv .cg-app__model {
  font-size: 1.05em
}
.gc-cgpt .cg-fv .cg-app__body {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: .9em 1.4em .4em;
  gap: .7em
}
.gc-cgpt .cg-fv .cg-app__user {
  padding: .45em 1em;
  border-radius: 1.4em
}
.gc-cgpt .cg-fv .cg-avatar {
  width: 2.2em;
  height: 2.2em
}
.gc-cgpt .cg-fv .cg-app__answer p {
  margin-bottom: .3em
}
.gc-cgpt .cg-fv .cg-adx {
  padding: .7em 1em .9em;
  border-radius: 1em
}
.gc-cgpt .cg-fv .cg-adx__meta {
  font-size: .82em;
  margin-bottom: .4em
}
.gc-cgpt .cg-fv .cg-adx__row {
  grid-template-columns: 6em 1fr;
  gap: .9em
}
.gc-cgpt .cg-fv .cg-adx__row .cg-adx__thumb {
  width: 6em;
  height: 6em
}
.gc-cgpt .cg-fv .cg-adx .cg-mh {
  font-size: 1.12em
}
.gc-cgpt .cg-fv .cg-adx__desc,
.gc-cgpt .cg-fv .cg-adx__name {
  font-size: .9em
}
.gc-cgpt .cg-fv .cg-adx__more {
  font-size: .88em;
  margin-top: .4em;
  padding: .15em .9em
}
.gc-cgpt .cg-fv .cg-app__input {
  flex: none;
  margin: .3em 1.4em .9em;
  padding: .45em .5em .45em 1.1em;
  font-size: .88em
}
.gc-cgpt .cg-fv .cg-app__input b {
  width: 1.9em;
  height: 1.9em
}
@media (max-width:767px) {
  .gc-cgpt .cg-fv .cg-app {
    font-size: 2.6cqw
  }
  .gc-cgpt .cg-fv .cg-app__answer {
    display: none
  }
  .gc-cgpt .cg-fv .cg-app__input {
    display: flex
  }
}
@media (min-width:600px) and (max-width:900px) {
  .gc-cgpt .cg-fv__grid {
    position: relative;
    display: block
  }
  .gc-cgpt .cg-fv__txt {
    display: block
  }
  .gc-cgpt .cg-fv h1,
  .gc-cgpt .cg-fv__sub {
    max-width: 54%
  }
  .gc-cgpt .cg-fv__label {
    display: inline-block
  }
  .gc-cgpt .cg-fv__visual {
    position: absolute;
    top: 30px;
    right: 24px;
    width: 42%;
    margin: 0;
    padding-top: 20px
  }
  .gc-cgpt .cg-fv .cg-tel,
  .gc-cgpt .cg-fv__cta,
  .gc-cgpt .cg-fv__tiles {
    position: relative;
    z-index: 3
  }
  .gc-cgpt .cg-laptop {
    margin-right: 0;
    transform: none
  }
  .gc-cgpt .cg-laptop__base {
    margin: 0 -6%;
    height: 12px
  }
  .gc-cgpt .cg-fv__glow,
  .gc-cgpt .cg-sp,
  .gc-cgpt .cg-svc {
    display: none
  }
  .gc-cgpt .cg-fv__badge {
    width: 84px;
    height: 84px;
    font-size: 10px;
    top: -10px;
    right: -14px
  }
  .gc-cgpt .cg-fv__badge b {
    font-size: 14px
  }
  .gc-cgpt .cg-fv .cg-app__answer {
    display: none
  }
  .gc-cgpt .cg-fv .cg-app {
    font-size: 2.6cqw
  }
  .gc-cgpt .cg-fv__caption {
    margin-top: 8px;
    font-size: 10px;
    color: var(--sub);
    text-align: right
  }
  .gc-cgpt .cg-fv {
    background: linear-gradient(90deg,#fbfbfb 0,#f3f7fc 40%,rgba(243,247,252,.4) 56%,rgba(243,247,252,0) 70%),radial-gradient(60% 70% at 82% 22%,#8fd0ff 0,#2fa0f5 30%,#0a6ad6 62%,#033e80 100%)
  }
  .gc-cgpt .cg-fv::before {
    inset: -20% -10% 40% 45%
  }
}
@media (min-width:600px) and (max-width:767px) {
  .gc-cgpt .cg-fv h1,
  .gc-cgpt .cg-fv__label,
  .gc-cgpt .cg-fv__sub {
    order: 0
  }
  .gc-cgpt .cg-fv h1 {
    font-size: 24px
  }
  .gc-cgpt .cg-fv__visual {
    width: 40%;
    top: 22px;
    right: 16px
  }
  .gc-cgpt .cg-fv h1,
  .gc-cgpt .cg-fv__sub {
    max-width: 56%
  }
  .gc-cgpt .cg-fv__sub {
    min-height: 5em
  }
  .gc-cgpt .cg-fv__caption {
    display: none
  }
}
/* 最終CTA：注意書き */
.gc-cgpt .cg-cta__caution{font-size:12px;line-height:1.7;color:#bcd3ee;text-align:center}
@media (max-width:767px){.gc-cgpt .cg-cta__caution{font-size:11px;text-align:left}}

/* ===== 目次（アンカーリンク） ===== */
.gc-cgpt .cg-toc{background:#fff;border-bottom:1px solid var(--line);padding-block:22px}
.gc-cgpt .cg-toc__ttl{font-size:13px;font-weight:700;color:var(--muted);text-align:center;margin-bottom:12px}
.gc-cgpt .cg-toc__list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.gc-cgpt .cg-toc__list a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;min-height:72px;padding:10px 8px 18px;border:1px solid var(--line);background:var(--bg-blue);font-size:14px;font-weight:700;line-height:1.4;color:var(--navy);text-align:center;transition:background .2s,color .2s}
.gc-cgpt .cg-toc__list a::after{content:"";position:absolute;bottom:8px;left:50%;width:7px;height:7px;margin-left:-4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.gc-cgpt .cg-toc__list a:hover{background:var(--navy);color:#fff}
.gc-cgpt .cg-toc__no{font:700 13px/1 var(--ff-en);color:var(--accent);letter-spacing:.06em}
.gc-cgpt .cg-toc__list a:hover .cg-toc__no{color:#7fd0ff}
.gc-cgpt section[id]{scroll-margin-top:110px}
@media (max-width:900px){.gc-cgpt .cg-toc__list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.gc-cgpt .cg-toc{padding-block:16px}.gc-cgpt .cg-toc__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.gc-cgpt .cg-toc__list a{min-height:58px;font-size:12px;padding:8px 6px 16px}.gc-cgpt .cg-toc__ttl{font-size:12px;margin-bottom:8px}}
@media (prefers-reduced-motion:reduce){.gc-cgpt .cg-toc__list a{transition:none}}
.gc-cgpt .cg-toc__list a{word-break:keep-all;overflow-wrap:anywhere}
@media (min-width:901px){.gc-cgpt .cg-toc__list a{font-size:13px;letter-spacing:0}}

/* =========================================================
   FV（スペース×グロー）
   ========================================================= */
/* ===================== G案：スペース×グロー ===================== */
.gc-cgpt .fvg{
  --cyan:#3fe0ff; --cyan2:#6ff3ff; --glass:rgba(16,48,110,.55); --gline:rgba(120,200,255,.45);
  position:relative;overflow:hidden;color:#fff;padding-block:44px 34px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}
.gc-cgpt .fvg *{font-family:inherit}
.gc-cgpt .fvg .cg-en,.gc-cgpt .fvg__brand,.gc-cgpt .fvg__tel b{font-family:"Rajdhani","Noto Sans JP","Noto Sans CJK JP",sans-serif}
.gc-cgpt .fvg__bg{position:absolute;inset:0;background:
  radial-gradient(40% 35% at 70% 30%,rgba(40,140,255,.45),transparent 70%),
  radial-gradient(30% 30% at 12% 18%,rgba(40,120,255,.35),transparent 70%),
  linear-gradient(180deg,#020a24 0%,#04185a 45%,#062b86 75%,#031445 100%)}
.gc-cgpt .fvg__bg::before{content:"";position:absolute;inset:0;background:
  radial-gradient(1.5px 1.5px at 8% 12%,#fff,transparent),radial-gradient(1px 1px at 22% 40%,#cfe9ff,transparent),
  radial-gradient(1.5px 1.5px at 48% 8%,#fff,transparent),radial-gradient(1px 1px at 63% 52%,#cfe9ff,transparent),
  radial-gradient(1.5px 1.5px at 82% 20%,#fff,transparent),radial-gradient(1px 1px at 93% 46%,#fff,transparent),
  radial-gradient(1px 1px at 36% 64%,#cfe9ff,transparent),radial-gradient(1.5px 1.5px at 74% 70%,#fff,transparent);opacity:.8}
.gc-cgpt .fvg__bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(115deg,transparent 40%,rgba(90,180,255,.14) 48%,transparent 56%),
  linear-gradient(160deg,transparent 55%,rgba(90,200,255,.12) 62%,transparent 70%)}
.gc-cgpt .fvg__earth{position:absolute;left:-20%;right:-20%;bottom:-62%;height:80%;border-radius:50%;
  background:radial-gradient(60% 40% at 50% 0%,#2a7cff 0%,#0b3a9e 40%,#03123d 75%);
  box-shadow:0 -6px 40px rgba(80,190,255,.9),0 -2px 8px rgba(160,230,255,1) inset}
.gc-cgpt .fvg__inner{position:relative;z-index:1}
.gc-cgpt .fvg__grid{display:grid;grid-template-columns:1fr 1.02fr;gap:28px;align-items:center}

/* テキスト */
.gc-cgpt .fvg__label{display:inline-block;font-size:16px;font-weight:700;letter-spacing:.1em;color:#fff;padding:7px 24px;border-radius:999px;border:1.5px solid var(--cyan);background:rgba(20,60,140,.4);box-shadow:0 0 14px rgba(63,224,255,.55),inset 0 0 10px rgba(63,224,255,.25)}
.gc-cgpt .fvg__h1{margin-top:16px;font-size:clamp(30px,3.5vw,46px);font-weight:900;line-height:1.36;letter-spacing:.01em;color:#fff;text-shadow:0 2px 12px rgba(0,20,80,.6)}
.gc-cgpt .fvg__brand{font-size:1.52em;font-weight:700;line-height:1;letter-spacing:0;color:var(--cyan2);background:linear-gradient(180deg,#bff8ff 0%,#3fe0ff 55%,#1aa8ff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(63,224,255,.7))}
.gc-cgpt .fvg__sub{margin-top:16px;font-size:clamp(17px,1.8vw,23px);font-weight:700;line-height:1.65;color:#fff}
.gc-cgpt .fvg__sub em{color:var(--cyan);text-shadow:0 0 10px rgba(63,224,255,.5)}
.gc-cgpt .fvg__tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:24px}
.gc-cgpt .fvg__tiles li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:112px;padding:12px 4px;text-align:center;font-size:12.5px;font-weight:700;line-height:1.45;letter-spacing:0;color:#fff;background:linear-gradient(180deg,rgba(30,80,170,.55),rgba(8,30,90,.55));border:1px solid var(--gline);border-radius:10px;box-shadow:0 0 14px rgba(63,160,255,.25),inset 0 1px 0 rgba(255,255,255,.15);word-break:keep-all}
.gc-cgpt .fvg__tiles .cg-icon{width:34px;height:34px;color:var(--cyan2);filter:drop-shadow(0 0 6px rgba(63,224,255,.7))}

/* ビジュアル */
.gc-cgpt .fvg__vis{position:relative;padding:20px 40px 30px 0}
.gc-cgpt .fvg__badge{position:absolute;z-index:4;top:-6px;right:-6px;width:170px;height:170px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:16px;font-weight:700;line-height:1.45;color:#fff;
  background:radial-gradient(circle at 40% 30%,#1b5fd9 0%,#0a2f86 60%,#061c55 100%);border:2px solid rgba(160,230,255,.9);box-shadow:0 0 0 6px rgba(63,180,255,.18),0 0 30px rgba(63,180,255,.8)}
.gc-cgpt .fvg__badge b{font-size:28px;font-weight:700;font-family:"Rajdhani","Noto Sans JP",sans-serif}
.gc-cgpt .fvg__badge svg{width:40px;height:20px;color:var(--cyan);margin-top:4px}
.gc-cgpt .fvg__pc{position:relative;z-index:1;margin:0 30px 0 0;transform:perspective(1400px) rotateY(-14deg) rotateX(4deg);transform-origin:70% 60%}
.gc-cgpt .fvg__screen{background:#1d2636;border-radius:16px 16px 4px 4px;padding:10px;box-shadow:0 0 40px rgba(63,180,255,.35),0 30px 60px rgba(0,0,20,.6)}
.gc-cgpt .fvg__chat{background:#f7f9fc;border-radius:0 0 6px 6px;padding:12px 18px 14px;display:grid;gap:9px;font-size:12.5px;line-height:1.55;color:#1d2433}
.gc-cgpt .fvg__bar{display:flex;align-items:center;gap:10px;background:#f7f9fc;border-radius:6px 6px 0 0;padding:9px 14px;border-bottom:1px solid #e8ecf2;font-size:13px;color:#1d2433}
.gc-cgpt .fvg__bar small{color:#8f8f8f;font-size:9px}
.gc-cgpt .fvg__q{justify-self:end;background:#e9edf3;border-radius:16px;padding:6px 14px}
.gc-cgpt .fvg__a{display:flex;gap:8px;align-items:center}
.gc-cgpt .fvg__ai{width:26px;height:26px;border-radius:7px;background:#10a37f;color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.gc-cgpt .fvg__ai .cg-icon{width:16px;height:16px}
.gc-cgpt .fvg__ad{background:#fff;border:1px solid #e3e8f0;border-radius:12px;padding:10px 12px;box-shadow:0 6px 16px rgba(3,62,128,.1)}
.gc-cgpt .fvg__adh{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;color:#333}
.gc-cgpt .fvg__adh span{font-size:9.5px;font-weight:700;color:#666;border:1px solid #bbb;border-radius:3px;padding:0 4px}
.gc-cgpt .fvg__adrow{display:grid;grid-template-columns:1fr 110px;gap:12px;align-items:center;margin-top:4px}
.gc-cgpt .fvg__ad .cg-mh{font-size:14px;font-weight:900;color:#1b5fd9;line-height:1.4}
.gc-cgpt .fvg__ad p{font-size:10.5px;color:#555;margin-top:4px;line-height:1.5}
.gc-cgpt .fvg__ad span{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;color:#1b5fd9}
.gc-cgpt .fvg__adrow img{width:110px;height:80px;border-radius:8px;object-fit:cover}
.gc-cgpt .fvg__chips{display:flex;flex-wrap:wrap;gap:6px}
.gc-cgpt .fvg__chips span{font-size:10px;color:#555;border:1px solid #dde3ec;border-radius:999px;padding:2px 10px;background:#fff}
.gc-cgpt .fvg__input{display:flex;justify-content:space-between;align-items:center;border:1px solid #dde3ec;background:#fff;border-radius:999px;padding:6px 14px;font-size:11px;color:#999}
.gc-cgpt .fvg__input b{color:#1b5fd9;font-size:12px}
.gc-cgpt .fvg__base{height:16px;margin:0 -7%;background:linear-gradient(180deg,#dfe6f0,#9aa6b8);clip-path:polygon(3% 0,97% 0,100% 70%,98% 100%,2% 100%,0 70%);box-shadow:0 0 30px rgba(63,180,255,.5)}
.gc-cgpt .fvg__phone{position:absolute;z-index:3;right:0;bottom:6px;width:190px;margin:0;background:#121826;border-radius:28px;padding:8px;box-shadow:0 0 30px rgba(63,180,255,.45),0 20px 40px rgba(0,0,20,.6);transform:rotate(5deg)}
.gc-cgpt .fvg__pscreen{background:#f7f9fc;border-radius:22px;padding:14px 10px 10px;display:grid;gap:7px;font-size:10px;line-height:1.5;color:#1d2433}
.gc-cgpt .fvg__pbar{text-align:center;font-size:11px;font-weight:700}
.gc-cgpt .fvg__pbar small{font-size:8px;color:#8f8f8f}
.gc-cgpt .fvg__pq{justify-self:end;background:#e9edf3;border-radius:12px;padding:4px 9px;max-width:90%}
.gc-cgpt .fvg__pad{background:#fff;border:1px solid #e3e8f0;border-radius:10px;padding:8px}
.gc-cgpt .fvg__pad .cg-mh{font-size:11.5px;font-weight:900;color:#1b5fd9;line-height:1.35;margin-top:4px}
.gc-cgpt .fvg__pad p{font-size:9px;color:#555;margin-top:3px}
.gc-cgpt .fvg__pad span{display:inline-block;font-size:9.5px;font-weight:700;color:#1b5fd9;margin-top:3px}
.gc-cgpt .fvg__pad .fvg__adh{font-size:9px}
.gc-cgpt .fvg__input--s{font-size:9px;padding:4px 10px}

/* フロー */
.gc-cgpt .fvg__flow{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:26px;padding:0;counter-reset:none}
.gc-cgpt .fvg__flow li{position:relative;list-style:none;background:linear-gradient(180deg,rgba(30,80,170,.5),rgba(6,24,80,.6));border:1px solid var(--gline);border-radius:14px;padding:14px 16px 16px;box-shadow:0 0 18px rgba(63,160,255,.25)}
.gc-cgpt .fvg__flow li.is-main{border-color:var(--cyan);box-shadow:0 0 26px rgba(63,224,255,.5)}
.gc-cgpt .fvg__flow li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-22px;width:16px;height:16px;margin-top:-8px;border-top:3px solid var(--cyan);border-right:3px solid var(--cyan);transform:rotate(45deg);filter:drop-shadow(0 0 6px rgba(63,224,255,.8))}
.gc-cgpt .fvg__ft{display:flex;align-items:center;gap:10px}
.gc-cgpt .fvg__ft b{flex:1;font-size:15px;font-weight:700;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 14px;line-height:1.4}
.gc-cgpt .fvg__fic{width:42px;height:42px;border-radius:50%;background:#fff;color:#0a3fa8;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 0 12px rgba(63,224,255,.7)}
.gc-cgpt .fvg__fic .cg-icon{width:24px;height:24px;stroke-width:2.2}
.gc-cgpt .fvg__fcard{margin-top:12px;height:88px;border-radius:10px;background:#fff;padding:10px 12px;color:#333}
.gc-cgpt .fvg__fcard--search{display:grid;gap:6px;align-content:start}
.gc-cgpt .fvg__sbar{height:20px;border:1px solid #dde3ec;border-radius:999px;position:relative}
.gc-cgpt .fvg__sbar i{position:absolute;left:10px;top:5px;width:9px;height:9px;border-radius:50%;border:2px solid #9aa3ae}
.gc-cgpt .fvg__fcard--search>i{height:7px;border-radius:4px;background:#e1e6ee}
.gc-cgpt .fvg__fcard--search>i:nth-of-type(2){width:80%}.gc-cgpt .fvg__fcard--search>i:nth-of-type(3){width:60%}
.gc-cgpt .fvg__fcard--ad{display:grid;grid-template-columns:1fr 90px;grid-template-rows:auto 1fr;gap:4px 10px;transform:rotate(-2deg)}
.gc-cgpt .fvg__fcard--ad .fvg__adh{grid-column:1}
.gc-cgpt .fvg__fcard--ad div{grid-column:1;display:grid;gap:6px;align-content:start}
.gc-cgpt .fvg__fcard--ad div i{height:7px;border-radius:4px;background:#cfe0f6}
.gc-cgpt .fvg__fcard--ad div i+i{width:70%}
.gc-cgpt .fvg__fcard--ad img{grid-column:2;grid-row:1/3;width:90px;height:66px;border-radius:6px;object-fit:cover}
.gc-cgpt .fvg__fcard--cv{display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;font-weight:700;color:#0a3fa8}
.gc-cgpt .fvg__cvic{width:40px;height:40px;border-radius:50%;background:#ff7a00;color:#fff;display:flex;align-items:center;justify-content:center}
.gc-cgpt .fvg__cvic .cg-icon{width:22px;height:22px;stroke-width:3}

/* CTA */
.gc-cgpt .fvg__cta{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:18px;align-items:center;margin-top:26px}
.gc-cgpt .fvg__cta .cg-btn{min-height:64px;font-size:18px;border-radius:8px}
.gc-cgpt .fvg__cta .cg-btn .cg-icon{width:24px;height:24px}
.gc-cgpt .fvg__b1{box-shadow:0 0 22px rgba(255,122,0,.6)}
.gc-cgpt .fvg__b2{background:rgba(10,30,90,.6);color:#fff;border:1.5px solid var(--gline);box-shadow:0 0 14px rgba(63,160,255,.3)}
.gc-cgpt .fvg__b2:hover{background:rgba(30,70,160,.7)}
.gc-cgpt .fvg__tel{display:flex;align-items:center;gap:12px;color:#fff;line-height:1.15}
.gc-cgpt .fvg__tel .cg-icon{width:46px;height:46px;padding:10px;border-radius:50%;background:#fff;color:#0a3fa8;stroke-width:2.2;flex:none}
.gc-cgpt .fvg__tel b{display:block;font-size:40px;font-weight:700;letter-spacing:.02em}
.gc-cgpt .fvg__tel small{display:block;font-size:12.5px;color:#cfe0ff}
.gc-cgpt .fvg__trust{display:flex;justify-content:center;gap:0;margin-top:22px;padding:0}
.gc-cgpt .fvg__trust li{list-style:none;display:flex;align-items:center;gap:12px;padding:0 30px;font-size:14px;font-weight:700;line-height:1.5;color:#fff}
.gc-cgpt .fvg__trust li+li{border-left:1px solid rgba(255,255,255,.3)}
.gc-cgpt .fvg__trust .cg-icon{width:36px;height:36px;color:var(--cyan2);filter:drop-shadow(0 0 6px rgba(63,224,255,.6))}
.gc-cgpt .fvg__caption{text-align:right;margin-top:8px;font-size:11px;color:#9fb6dc}

/* タブレット */
@media (max-width:1080px){
  .gc-cgpt .fvg__grid{grid-template-columns:1fr}
  .gc-cgpt .fvg__vis{max-width:640px;margin:0 auto;width:100%}
  .gc-cgpt .fvg__cta{grid-template-columns:1fr 1fr}
  .gc-cgpt .fvg__tel{grid-column:1/-1;justify-content:center}
}
/* スマホ */
@media (max-width:767px){
  .gc-cgpt .fvg{padding-block:22px 24px}
  .gc-cgpt .fvg__label{font-size:12.5px;padding:5px 16px}
  .gc-cgpt .fvg__h1{font-size:23px;margin-top:12px}
  .gc-cgpt .fvg__sub{font-size:15px;margin-top:10px}
  .gc-cgpt .fvg__grid{display:flex;flex-direction:column;gap:0}
  .gc-cgpt .fvg__txt{display:contents}
  .gc-cgpt .fvg__label,.gc-cgpt .fvg__h1,.gc-cgpt .fvg__sub{order:1}
  .gc-cgpt .fvg__label{align-self:center}
  .gc-cgpt .fvg__h1,.gc-cgpt .fvg__sub{text-align:center}
  .gc-cgpt .fvg__vis{order:2;padding:14px 0 6px;margin-top:6px}
  .gc-cgpt .fvg__tiles{order:3}
  .gc-cgpt .fvg__pc{transform:none;margin:0 50px 0 0}
  .gc-cgpt .fvg__chat{font-size:10px;padding:8px 10px 10px;gap:6px}
  .gc-cgpt .fvg__bar{font-size:11px;padding:6px 10px}
  .gc-cgpt .fvg__chips{display:none}
  .gc-cgpt .fvg__adrow{grid-template-columns:1fr 70px;gap:8px}
  .gc-cgpt .fvg__adrow img{width:70px;height:56px}
  .gc-cgpt .fvg__ad .cg-mh{font-size:11px}
  .gc-cgpt .fvg__ad p{display:none}
  .gc-cgpt .fvg__phone{width:118px;border-radius:20px;padding:5px;bottom:0}
  .gc-cgpt .fvg__pscreen{border-radius:16px;padding:10px 6px 6px;font-size:7.5px;gap:4px}
  .gc-cgpt .fvg__pad .cg-mh{font-size:8.5px}
  .gc-cgpt .fvg__pad p{display:none}
  .gc-cgpt .fvg__badge{width:96px;height:96px;font-size:10px;top:-14px;right:-4px}
  .gc-cgpt .fvg__badge b{font-size:16px}
  .gc-cgpt .fvg__badge svg{width:26px;height:14px}
  .gc-cgpt .fvg__tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:16px}
  .gc-cgpt .fvg__tiles li{min-height:78px;font-size:9px;padding:8px 2px;gap:4px;word-break:break-all}
  .gc-cgpt .fvg__tiles li br{display:none}
  .gc-cgpt .fvg__tiles .cg-icon{width:24px;height:24px}
  .gc-cgpt .fvg__flow{display:none}
  .gc-cgpt .fvg__cta{grid-template-columns:1fr;gap:10px;margin-top:16px}
  .gc-cgpt .fvg__cta .cg-btn{min-height:54px;font-size:16px}
  .gc-cgpt .fvg__tel{justify-content:center}
  .gc-cgpt .fvg__tel b{font-size:30px}
  .gc-cgpt .fvg__tel .cg-icon{width:38px;height:38px;padding:8px}
  .gc-cgpt .fvg__trust{display:none}
  .gc-cgpt .fvg__caption{text-align:center;font-size:9.5px}
}
@media (prefers-reduced-motion:reduce){.gc-cgpt .fvg__pc,.gc-cgpt .fvg__phone{transform:none}}
.gc-cgpt .fvg__brand{background:linear-gradient(180deg,#f2feff 0%,#8ff6ff 40%,#3fd8ff 75%,#2ab0ff 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 14px rgba(63,224,255,.85)) drop-shadow(0 0 2px rgba(180,250,255,.9))}
.gc-cgpt .fvg__phone{width:172px;right:-14px;bottom:-4px}
.gc-cgpt .fvg__pc{margin-right:56px}
@media (max-width:767px){.gc-cgpt .fvg__pc{margin-right:44px}.gc-cgpt .fvg__phone{width:112px;right:-4px}.gc-cgpt .fvg__a p{font-size:9.5px}}
.gc-cgpt .fvg__brand{background:none;-webkit-text-fill-color:#62f0ff;color:#62f0ff;filter:none;text-shadow:0 0 6px rgba(63,224,255,.9),0 0 22px rgba(30,170,255,.75),0 0 44px rgba(30,120,255,.5)}
/* フロー：写真入りの実画像 */
.gc-cgpt .fvg__flowimg{margin:26px -12px 0;position:relative}
.gc-cgpt .fvg__flowimg img{display:block;width:100%;height:auto;border-radius:14px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)}
@media (max-width:767px){.gc-cgpt .fvg__flowimg{display:none}}
/* ===== 3ステップ（HTMLで再構成） ===== */
.gc-cgpt .fvg__flowimg{display:none}
.gc-cgpt .fvg__steps{display:grid;grid-template-columns:1fr 1.08fr 1fr;gap:0;margin-top:26px;padding:0}
.gc-cgpt .fvg__st{position:relative;list-style:none;padding:12px 30px 14px 22px;
  background:linear-gradient(180deg,rgba(40,100,200,.55),rgba(8,30,95,.7));
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,22px 50%);
  filter:drop-shadow(0 0 1px rgba(140,210,255,.9))}
.gc-cgpt .fvg__st--1{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%);border-radius:14px 0 0 14px}
.gc-cgpt .fvg__st--3{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,22px 50%);padding-right:18px}
.gc-cgpt .fvg__st:not(.fvg__st--1){margin-left:-14px;padding-left:38px}
.gc-cgpt .fvg__st--2{background:linear-gradient(180deg,rgba(40,150,255,.65),rgba(10,50,140,.75));z-index:1}
.gc-cgpt .fvg__st::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 40%);pointer-events:none}
.gc-cgpt .fvg__sth{position:relative;z-index:2;display:flex;align-items:center;gap:10px}
.gc-cgpt .fvg__sth b{flex:1;font-size:14.5px;font-weight:700;color:#fff;background:rgba(4,20,70,.55);border:1px solid rgba(160,220,255,.55);border-radius:999px;padding:4px 14px;line-height:1.4;white-space:nowrap;letter-spacing:.02em}
.gc-cgpt .fvg__sti{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 0 14px rgba(63,224,255,.8)}
.gc-cgpt .fvg__sti .cg-icon{width:22px;height:22px;stroke-width:2.4}
.gc-cgpt .fvg__sti--g{color:#1b5fd9}
.gc-cgpt .fvg__sti--ai{background:#0f1f3d;color:#62f0ff}
.gc-cgpt .fvg__sti--cv{color:#1b5fd9}
.gc-cgpt .fvg__stb{position:relative;height:118px;margin-top:10px;border-radius:10px;overflow:hidden}
.gc-cgpt .fvg__stp{position:absolute;top:0;left:0;width:46%;height:100%;object-fit:cover;object-position:center top;
  -webkit-mask-image:linear-gradient(90deg,#000 60%,transparent);mask-image:linear-gradient(90deg,#000 60%,transparent);filter:saturate(.95) contrast(1.05)}
.gc-cgpt .fvg__stp--r{left:auto;right:0;width:62%;-webkit-mask-image:linear-gradient(270deg,#000 65%,transparent);mask-image:linear-gradient(270deg,#000 65%,transparent)}
.gc-cgpt .fvg__serp{position:absolute;right:0;top:4px;bottom:0;width:62%;background:#fff;border-radius:8px 0 0 0;padding:9px 10px;display:grid;gap:6px;align-content:start;box-shadow:-8px 0 20px rgba(0,10,40,.35);transform:perspective(500px) rotateY(-8deg);transform-origin:right center}
.gc-cgpt .fvg__serpbar{display:flex;align-items:center;gap:6px;border:1px solid #dfe3ea;border-radius:999px;padding:3px 10px;font-size:10px;color:#333;white-space:nowrap;overflow:hidden}
.gc-cgpt .fvg__serpbar .cg-icon{width:11px;height:11px;color:#1b5fd9;stroke-width:3}
.gc-cgpt .fvg__serp p{display:grid;grid-template-columns:auto 1fr;gap:3px 6px;align-items:center}
.gc-cgpt .fvg__serp em{font-size:8px;font-weight:700;color:#555;border:1px solid #aaa;border-radius:2px;padding:0 3px;line-height:1.3}
.gc-cgpt .fvg__serp b{height:6px;border-radius:3px;background:#1b5fd9;opacity:.75;grid-column:2}
.gc-cgpt .fvg__serp p:not(:has(em)) b{grid-column:1/-1;opacity:.45}
.gc-cgpt .fvg__serp i{grid-column:1/-1;height:5px;border-radius:3px;background:#e3e7ee}
.gc-cgpt .fvg__mini{position:absolute;inset:0;background:#f5f8fc;border-radius:10px;padding:8px 10px;display:grid;gap:6px;align-content:start}
.gc-cgpt .fvg__miniq{justify-self:end;font-size:10px;color:#1d2433;background:#e3e9f1;border-radius:10px;padding:3px 10px}
.gc-cgpt .fvg__minicard{display:grid;grid-template-columns:1fr 92px;gap:10px;align-items:center;background:#fff;border-radius:8px;padding:7px 9px;box-shadow:0 0 0 2px #ff8a1f,0 0 18px rgba(255,138,31,.55)}
.gc-cgpt .fvg__minicard .fvg__adh{font-size:9.5px}
.gc-cgpt .fvg__minicard .cg-mh{margin-top:3px;font-size:11.5px;font-weight:900;line-height:1.35;color:#1b5fd9}
.gc-cgpt .fvg__minicard i{display:block;margin-top:5px;height:5px;width:80%;border-radius:3px;background:#e3e7ee}
.gc-cgpt .fvg__minicard img{width:92px;height:60px;border-radius:6px;object-fit:cover}
.gc-cgpt .fvg__toast{position:absolute;left:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:8px 14px 8px 8px;box-shadow:0 10px 24px rgba(0,10,40,.35)}
.gc-cgpt .fvg__toast span{width:30px;height:30px;border-radius:50%;background:#ff7a00;color:#fff;display:flex;align-items:center;justify-content:center}
.gc-cgpt .fvg__toast .cg-icon{width:16px;height:16px;stroke-width:3.2}
.gc-cgpt .fvg__toast b{display:block;font-size:12.5px;font-weight:900;color:#0a3fa8;line-height:1.3}
.gc-cgpt .fvg__toast small{display:block;font-size:9.5px;color:#888}
@media (max-width:1080px){.gc-cgpt .fvg__sth b{font-size:12px;white-space:normal}}
/* スマホ：3ステップを縦に積む */
@media (max-width:767px){
  .gc-cgpt .fvg__steps{grid-template-columns:1fr;margin-top:22px;gap:0}
  .gc-cgpt .fvg__st,.gc-cgpt .fvg__st--1,.gc-cgpt .fvg__st--3{clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),50% 100%,0 calc(100% - 12px));border-radius:12px 12px 0 0;padding:10px 12px 22px;margin:0}
  .gc-cgpt .fvg__st:not(.fvg__st--1){margin:-6px 0 0;padding:16px 12px 22px}
  .gc-cgpt .fvg__st--3{clip-path:none;border-radius:0 0 12px 12px;padding-bottom:12px}
  .gc-cgpt .fvg__sth{gap:8px}
  .gc-cgpt .fvg__sth b{font-size:13px;padding:3px 12px}
  .gc-cgpt .fvg__sti{width:32px;height:32px}
  .gc-cgpt .fvg__stb{height:96px;margin-top:8px}
  .gc-cgpt .fvg__stp{width:40%}
  .gc-cgpt .fvg__stp--r{width:55%}
  .gc-cgpt .fvg__minicard .cg-mh{font-size:11px}
  .gc-cgpt .fvg__minicard img{width:76px;height:52px}
  .gc-cgpt .fvg__mini{padding:8px 10px;gap:6px}
}
.gc-cgpt .fvg__stb{height:132px}
.gc-cgpt .fvg__mini{padding:10px 12px;gap:8px}
.gc-cgpt .fvg__stp{object-position:center 20%}
.gc-cgpt .fvg__pimg{display:block;width:100%;height:58px;object-fit:cover;border-radius:6px;margin-top:4px}
@media (max-width:767px){.gc-cgpt .fvg__pimg{height:36px}}

/* =========================================================
   v5 全体トーン（FVのスペース×グローに統一）
   ========================================================= */
.gc-cgpt{--sp0:#020a24;--sp1:#04185a;--sp2:#062b86;--cy:#3fe0ff;--cy2:#62f0ff;--ink:#0b1a40;--card-bd:rgba(27,95,217,.14);--card-sh:0 12px 32px rgba(6,43,134,.09);
  font-family:"Noto Sans JP","Noto Sans CJK JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;color:#2b3448}
.gc-cgpt .cg-sec{padding-block:100px}
.gc-cgpt .cg-sec--bg{background:linear-gradient(180deg,#f3f7fd,#eaf2fc)}
.gc-cgpt .cg-sec--blue{background:linear-gradient(180deg,#eef4fc,#f7faff)}

/* 見出し */
.gc-cgpt .cg-ttl__en{display:inline-flex;align-items:center;gap:0;font-size:14px;font-weight:700;letter-spacing:.12em;color:#1b5fd9;padding:6px 20px;border-radius:999px;border:1.5px solid rgba(27,95,217,.35);background:#fff;box-shadow:0 0 0 4px rgba(63,224,255,.12),0 4px 12px rgba(27,95,217,.12);margin-bottom:16px}
.gc-cgpt .cg-ttl__en::before,.gc-cgpt .cg-ttl--c .cg-ttl__en::after,.gc-cgpt .cg-why__intro .cg-ttl__en::after{display:none}
.gc-cgpt .cg-ttl h2{font-size:clamp(26px,3vw,38px);font-weight:900;line-height:1.45;color:var(--ink);letter-spacing:.01em}
.gc-cgpt .cg-ttl h2 em{background:linear-gradient(90deg,#1b5fd9,#0bb5e6);-webkit-background-clip:text;background-clip:text;color:transparent}
.gc-cgpt .cg-ttl__lead{font-size:16px;color:#55607a}

/* ボタン */
.gc-cgpt .cg-btn{border-radius:8px}
.gc-cgpt .cg-btn--primary{box-shadow:0 0 22px rgba(255,122,0,.45),0 8px 18px rgba(240,90,0,.25)}
.gc-cgpt .cg-btn--doc{background:linear-gradient(180deg,#0d3a9e,#062b86)}

/* 目次：FVからの続き（ダーク） */
.gc-cgpt .cg-toc{background:linear-gradient(180deg,#031445,#04185a);border:0;padding-block:20px 26px}
.gc-cgpt .cg-toc__ttl{color:#9fc2ef;letter-spacing:.1em}
.gc-cgpt .cg-toc__list a{border-radius:10px;border:1px solid rgba(120,200,255,.35);background:linear-gradient(180deg,rgba(30,80,170,.45),rgba(8,30,90,.55));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.gc-cgpt .cg-toc__no{color:var(--cy)}
.gc-cgpt .cg-toc__list a:hover{background:linear-gradient(180deg,rgba(40,120,230,.7),rgba(10,50,140,.8));border-color:var(--cy);color:#fff;box-shadow:0 0 16px rgba(63,224,255,.4)}
.gc-cgpt .cg-toc__list a:hover .cg-toc__no{color:var(--cy2)}

/* 共通カード */
.gc-cgpt .cg-goals li,.gc-cgpt .cg-worry li,.gc-cgpt .cg-why__card,.gc-cgpt .cg-combo__card,.gc-cgpt .cg-steps li,.gc-cgpt .cg-plan,.gc-cgpt .cg-faq details,.gc-cgpt .cg-aw,.gc-cgpt .cg-about__mock,.gc-cgpt .cg-shift__box{border-radius:16px;border:1px solid var(--card-bd);box-shadow:var(--card-sh);background:#fff}

/* ChatGPT広告とは */
.gc-cgpt .cg-about__mock{padding:24px;background:linear-gradient(180deg,#fff,#f6f9fe)}
.gc-cgpt .cg-goals li{border-bottom:0;position:relative;overflow:hidden;padding:30px 24px}
.gc-cgpt .cg-goals li::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#1b5fd9,#3fe0ff)}
.gc-cgpt .cg-goals .cg-icon{width:56px;height:56px;padding:12px;border-radius:50%;background:linear-gradient(135deg,#e6f2ff,#d6f6ff);color:#1b5fd9}
.gc-cgpt .cg-goal{background:linear-gradient(90deg,#1b5fd9,#0bb5e6);-webkit-background-clip:text;background-clip:text;color:transparent}

/* 日本での広がり（ダーク） */
.gc-cgpt .cg-market{background:
  radial-gradient(40% 50% at 85% 10%,rgba(40,140,255,.4),transparent 70%),
  radial-gradient(35% 45% at 5% 90%,rgba(40,120,255,.35),transparent 70%),
  linear-gradient(180deg,var(--sp0),var(--sp1) 60%,var(--sp2))}
.gc-cgpt .cg-market::before{background:
  radial-gradient(1.5px 1.5px at 10% 20%,#fff,transparent),radial-gradient(1px 1px at 30% 70%,#cfe9ff,transparent),
  radial-gradient(1.5px 1.5px at 55% 15%,#fff,transparent),radial-gradient(1px 1px at 75% 60%,#cfe9ff,transparent),
  radial-gradient(1.5px 1.5px at 90% 35%,#fff,transparent);opacity:.8}
.gc-cgpt .cg-market .cg-ttl__en{background:rgba(20,60,140,.4);color:#fff;border-color:var(--cy);box-shadow:0 0 14px rgba(63,224,255,.5),inset 0 0 10px rgba(63,224,255,.2)}
.gc-cgpt .cg-market .cg-ttl h2{color:#fff}
.gc-cgpt .cg-market .cg-ttl h2 em{background:none;-webkit-text-fill-color:var(--cy2);color:var(--cy2);text-shadow:0 0 14px rgba(63,224,255,.6)}
.gc-cgpt .cg-stats{background:none;border:0;gap:18px}
.gc-cgpt .cg-stats li{border-radius:16px;background:linear-gradient(180deg,rgba(30,80,170,.5),rgba(6,24,80,.6));border:1px solid rgba(120,200,255,.4);box-shadow:0 0 22px rgba(63,160,255,.2),inset 0 1px 0 rgba(255,255,255,.12)}
.gc-cgpt .cg-stats .cg-stats__num{color:var(--cy2);text-shadow:0 0 16px rgba(63,224,255,.6)}
.gc-cgpt .cg-stats .cg-stats__num small,.gc-cgpt .cg-stats .cg-stats__num .cg-pre{color:#fff;text-shadow:none}
.gc-cgpt .cg-stats h3{color:#fff}

/* 従来の広告との違い */
.gc-cgpt .cg-shift__box--new{border:2px solid #1b5fd9;background:linear-gradient(180deg,#f1f7ff,#e6f6ff);box-shadow:0 0 0 4px rgba(63,224,255,.15),var(--card-sh)}
.gc-cgpt .cg-shift__tag{border-radius:999px}
.gc-cgpt .cg-shift__arrow{border-left-color:#1b5fd9}
.gc-cgpt .cg-table-wrap{border-radius:16px;box-shadow:var(--card-sh);border:1px solid var(--card-bd)}
.gc-cgpt .cg-table{border-collapse:separate;border-spacing:0;overflow:hidden}
.gc-cgpt .cg-table th,.gc-cgpt .cg-table td{border:0;border-bottom:1px solid #e8eef6}
.gc-cgpt .cg-table thead th{background:#f3f6fb;color:var(--ink)}
.gc-cgpt .cg-table tbody th{background:#fafbfd;color:var(--ink)}
.gc-cgpt .cg-table thead .cg-col-ad{background:linear-gradient(135deg,#1b5fd9,#0a2f86);color:#fff}
.gc-cgpt .cg-table .cg-col-ad{background:#eef6ff;color:#0d3a9e}
.gc-cgpt .cg-table tr:last-child>*{border-bottom:0}

/* お悩み */
.gc-cgpt .cg-worry{gap:18px}
.gc-cgpt .cg-worry li{padding:22px 22px;font-size:16px;color:var(--ink)}
.gc-cgpt .cg-worry li::before{display:none}
.gc-cgpt .cg-worry .cg-icon{width:52px;height:52px;padding:12px;border-radius:14px;background:linear-gradient(135deg,#1b5fd9,#0bb5e6);color:#fff;box-shadow:0 6px 14px rgba(27,95,217,.3)}
.gc-cgpt .cg-solve::before{border-top-color:#1b5fd9}
.gc-cgpt .cg-solve p{color:var(--ink);font-weight:900}
.gc-cgpt .cg-solve p em{background:linear-gradient(90deg,#1b5fd9,#0bb5e6);-webkit-background-clip:text;background-clip:text;color:transparent}

/* 強み */
.gc-cgpt .cg-aw{padding:40px 40px 28px}
.gc-cgpt .cg-why__no{color:#0bb5e6}
.gc-cgpt .cg-why__no b{background:linear-gradient(90deg,#1b5fd9,#0bb5e6);-webkit-background-clip:text;background-clip:text;color:transparent}
.gc-cgpt .cg-aw__h,.gc-cgpt .cg-why__card .cg-aw__h{color:var(--ink)!important}
.gc-cgpt .cg-aw__img{border-radius:12px;box-shadow:0 10px 26px rgba(6,43,134,.12)}
.gc-cgpt .cg-why__card{overflow:hidden}
.gc-cgpt .cg-why__photo{border-radius:12px;box-shadow:0 8px 20px rgba(6,43,134,.12)}

/* LLMO連携 */
.gc-cgpt .cg-combo__card{overflow:hidden}
.gc-cgpt .cg-combo__card--ad .cg-combo__head{background:linear-gradient(135deg,#1b5fd9,#0a2f86)}
.gc-cgpt .cg-combo__x{background:linear-gradient(135deg,#1b5fd9,#0bb5e6);-webkit-background-clip:text;background-clip:text;color:transparent}
.gc-cgpt .cg-chatad{border-radius:14px;background:#f7f9fc}

/* 支援内容 */
.gc-cgpt .cg-steps{gap:22px}
.gc-cgpt .cg-steps li{padding:30px 26px 28px}
.gc-cgpt .cg-steps__no{opacity:1;top:16px;right:18px;font-size:36px;background:linear-gradient(135deg,#1b5fd9,#3fe0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.gc-cgpt .cg-steps .cg-icon{width:52px;height:52px;padding:12px;border-radius:14px;background:linear-gradient(135deg,#e6f2ff,#d6f6ff);color:#1b5fd9}
.gc-cgpt .cg-steps h3{color:var(--ink);font-size:19px}

/* 中間CTA（ダーク） */
.gc-cgpt .cg-ctabar{position:relative;overflow:hidden;background:radial-gradient(50% 120% at 50% 0%,rgba(40,140,255,.45),transparent 70%),linear-gradient(180deg,var(--sp1),var(--sp2));padding-block:56px}
.gc-cgpt .cg-ctabar__ttl{color:#fff;font-size:clamp(20px,2.2vw,26px);font-weight:900}
.gc-cgpt .cg-ctabar__ttl em{color:var(--cy2);text-shadow:0 0 12px rgba(63,224,255,.6)}
.gc-cgpt .cg-ctabar__txt{color:#cfe0ff}
.gc-cgpt .cg-ctabar .cg-btn--doc{background:rgba(10,30,90,.6);border:1.5px solid rgba(120,200,255,.5)}
.gc-cgpt .cg-ctabar .cg-tel{color:#fff}
.gc-cgpt .cg-ctabar .cg-tel .cg-icon{background:#fff;color:#0a3fa8}
.gc-cgpt .cg-ctabar .cg-tel small{color:#cfe0ff}

/* 料金 */
.gc-cgpt .cg-plan{overflow:hidden}
.gc-cgpt .cg-plan__head{background:linear-gradient(135deg,#1b5fd9,#0a2f86)}
.gc-cgpt .cg-plan dd{background:linear-gradient(90deg,#1b5fd9,#0bb5e6);-webkit-background-clip:text;background-clip:text;color:transparent}
.gc-cgpt .cg-plan dd.cg-txt{color:var(--ink);-webkit-text-fill-color:var(--ink)}

/* FAQ */
.gc-cgpt .cg-faq{gap:14px}
.gc-cgpt .cg-faq summary{color:var(--ink);padding:20px 24px}
.gc-cgpt .cg-faq__q{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#1b5fd9,#0bb5e6);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.gc-cgpt .cg-faq__pm::before,.gc-cgpt .cg-faq__pm::after{background:#1b5fd9}
.gc-cgpt .cg-faq__a{padding:0 24px 22px}
.gc-cgpt .cg-faq__a::before{width:36px;height:36px;border-radius:10px;background:#fff3e6;display:inline-flex;align-items:center;justify-content:center;font-size:20px}

/* 最終CTA（ダーク・宇宙） */
.gc-cgpt .cg-cta{background:
  radial-gradient(40% 60% at 85% 20%,rgba(40,140,255,.45),transparent 70%),
  linear-gradient(180deg,var(--sp0),var(--sp1) 55%,var(--sp2))}
.gc-cgpt .cg-cta::before{content:"";right:auto;bottom:auto;inset:auto -20% -70% -20%;height:90%;border-radius:50%;background:radial-gradient(60% 40% at 50% 0%,#2a7cff 0%,#0b3a9e 40%,#03123d 75%);box-shadow:0 -6px 40px rgba(80,190,255,.9);font-size:0}
.gc-cgpt .cg-cta__inner{z-index:1}
.gc-cgpt .cg-cta h2{font-weight:900}
.gc-cgpt .cg-cta .cg-check{background:var(--cy);color:#04185a}
.gc-cgpt .cg-cta__btns .cg-btn--doc{background:rgba(10,30,90,.6);color:#fff;border:1.5px solid rgba(120,200,255,.5)}

@media (max-width:767px){
  .gc-cgpt .cg-sec{padding-block:56px}
  .gc-cgpt .cg-ttl__en{font-size:12px;padding:4px 14px}
  .gc-cgpt .cg-ttl h2{font-size:22px}
  .gc-cgpt .cg-worry{gap:8px}
  .gc-cgpt .cg-worry li{padding:14px 8px;font-size:12.5px}
  .gc-cgpt .cg-worry .cg-icon{width:40px;height:40px;padding:9px;border-radius:12px}
  .gc-cgpt .cg-goals .cg-icon{width:40px;height:40px;padding:8px}
  .gc-cgpt .cg-goals li{padding:16px 6px}
  .gc-cgpt .cg-steps{gap:8px}
  .gc-cgpt .cg-steps li{padding:16px 12px}
  .gc-cgpt .cg-steps .cg-icon{width:38px;height:38px;padding:8px}
  .gc-cgpt .cg-steps__no{font-size:24px;top:10px;right:10px}
  .gc-cgpt .cg-steps h3{font-size:14px}
  .gc-cgpt .cg-aw{padding:22px 14px 16px}
  .gc-cgpt .cg-faq summary{padding:14px}
  .gc-cgpt .cg-faq__q,.gc-cgpt .cg-faq__a::before{width:28px;height:28px;font-size:16px}
  .gc-cgpt .cg-ctabar{padding-block:36px}
}

/* タブレット：ステップ2の広告カードを詰める */
@media (min-width:768px) and (max-width:1080px){
  .gc-cgpt .fvg__st{padding-right:24px}
  .gc-cgpt .fvg__st:not(.fvg__st--1){padding-left:30px}
  .gc-cgpt .fvg__minicard{gap:6px;grid-template-columns:1fr 58px}
  .gc-cgpt .fvg__minicard img{width:58px;height:46px}
  .gc-cgpt .fvg__minicard .cg-mh{font-size:10.5px}
  .gc-cgpt .fvg__minicard .fvg__adh{font-size:9px;white-space:nowrap}
  .gc-cgpt .fvg__adh span{white-space:nowrap}
}

/* =========================================================
   FVデバイス：画面比率を全幅で固定（PC画面 16:10／スマホ画面 約9:19.5）
   .fvg__vis を基準幅600pxのステージとし、内部は cqw で等比スケール
   ========================================================= */
.gc-cgpt .fvg__vis{position:relative;container-type:inline-size;width:100%;aspect-ratio:600/470;padding:0;margin-top:0}
.gc-cgpt .fvg__vis .fvg__pc{position:absolute;left:0;top:4cqw;width:86.667cqw;margin:0}
.gc-cgpt .fvg__vis .fvg__screen{box-sizing:border-box;width:100%;aspect-ratio:520/332.5;padding:1.667cqw;border-radius:2.667cqw 2.667cqw 0.667cqw 0.667cqw;display:flex;flex-direction:column;overflow:hidden}
.gc-cgpt .fvg__vis .fvg__bar{flex:none;gap:1.667cqw;padding:1.167cqw 2.333cqw;font-size:2.083cqw;border-radius:1cqw 1cqw 0 0}
.gc-cgpt .fvg__vis .fvg__bar small{font-size:1.5cqw}
.gc-cgpt .fvg__vis .fvg__chat{flex:1;min-height:0;grid-auto-rows:max-content;overflow:hidden;align-content:start;padding:1.333cqw 2.667cqw 1.5cqw;gap:0.833cqw;font-size:1.833cqw;line-height:1.5;border-radius:0 0 1cqw 1cqw}
.gc-cgpt .fvg__vis .fvg__q{border-radius:2.667cqw;padding:0.5cqw 2.167cqw}
.gc-cgpt .fvg__vis .fvg__a{gap:1.333cqw}
.gc-cgpt .fvg__vis .fvg__a p{font-size:1.833cqw}
.gc-cgpt .fvg__vis .fvg__ai{width:4cqw;height:4cqw;border-radius:1.167cqw}
.gc-cgpt .fvg__vis .fvg__ai .cg-icon{width:2.5cqw;height:2.5cqw}
.gc-cgpt .fvg__vis .fvg__ad{border-radius:1.833cqw;padding:1.167cqw 2cqw}
.gc-cgpt .fvg__vis .fvg__adh{gap:1cqw;font-size:1.667cqw}
.gc-cgpt .fvg__vis .fvg__adh span{font-size:1.5cqw;border-radius:0.5cqw;padding:0 0.667cqw}
.gc-cgpt .fvg__vis .fvg__adrow{grid-template-columns:13.333cqw 1fr;gap:2cqw;margin-top:0.5cqw}
.gc-cgpt .fvg__vis .fvg__adrow img{width:13.333cqw;height:13.333cqw;object-fit:contain;border-radius:1.333cqw}
.gc-cgpt .fvg__vis .fvg__ad .cg-mh{font-size:2cqw;line-height:1.35}
.gc-cgpt .fvg__vis .fvg__ad p{display:block;font-size:1.5cqw;line-height:1.5;margin-top:0.5cqw}
.gc-cgpt .fvg__vis .fvg__ad span{font-size:1.667cqw;margin-top:0.333cqw}
.gc-cgpt .fvg__vis .fvg__chips{display:flex;flex-wrap:nowrap;gap:1cqw;overflow:hidden}
.gc-cgpt .fvg__vis .fvg__chips span{flex:none;font-size:1.583cqw;padding:0.167cqw 1.667cqw;white-space:nowrap}
.gc-cgpt .fvg__vis .fvg__input{padding:0.833cqw 2.333cqw;font-size:1.75cqw}
.gc-cgpt .fvg__vis .fvg__input b{font-size:2cqw}
.gc-cgpt .fvg__vis .fvg__base{height:2.667cqw}
.gc-cgpt .fvg__vis .fvg__phone{position:absolute;right:0.667cqw;bottom:1cqw;width:28.667cqw;aspect-ratio:172/354;box-sizing:border-box;padding:1.333cqw;border-radius:4.667cqw;display:flex;flex-direction:column}
.gc-cgpt .fvg__vis .fvg__pscreen{flex:1;min-height:0;overflow:hidden;align-content:start;border-radius:3.5cqw;padding:2.667cqw 1.667cqw 1.667cqw;gap:1.333cqw;font-size:1.667cqw;line-height:1.5}
.gc-cgpt .fvg__vis .fvg__pbar{font-size:1.833cqw}
.gc-cgpt .fvg__vis .fvg__pbar small{font-size:1.333cqw}
.gc-cgpt .fvg__vis .fvg__pq{border-radius:2cqw;padding:0.667cqw 1.5cqw}
.gc-cgpt .fvg__vis .fvg__pad{border-radius:1.667cqw;padding:1.333cqw}
.gc-cgpt .fvg__vis .fvg__pad .cg-mh{font-size:1.917cqw;margin-top:0.667cqw}
.gc-cgpt .fvg__vis .fvg__pad p{display:block;font-size:1.5cqw;margin-top:0.5cqw}
.gc-cgpt .fvg__vis .fvg__pad span{font-size:1.583cqw;margin-top:0.5cqw}
.gc-cgpt .fvg__vis .fvg__pad .fvg__adh{font-size:1.5cqw}
.gc-cgpt .fvg__vis .fvg__input--s{font-size:1.5cqw;padding:0.667cqw 1.667cqw}
.gc-cgpt .fvg__vis .fvg__badge{top:-1cqw;right:-0.333cqw;width:22.667cqw;height:22.667cqw;font-size:2.167cqw}
.gc-cgpt .fvg__vis .fvg__badge b{font-size:3.833cqw}
.gc-cgpt .fvg__vis .fvg__badge svg{width:5.667cqw;height:2.833cqw;margin-top:0.5cqw}
@media (max-width:767px){.gc-cgpt .fvg__vis{margin:14px 0 8px}}

/* =========================================================
   3ステップ帯：画面幅に関わらず比率固定（基準幅1100px・cqwで等比スケール）
   ========================================================= */
@media (min-width:768px){
.gc-cgpt .fvg__steps{container-type:inline-size}
.gc-cgpt .fvg__steps .fvg__st{padding:1.091cqw 2.727cqw 1.273cqw 2cqw;clip-path:polygon(0 0,calc(100% - 2cqw) 0,100% 50%,calc(100% - 2cqw) 100%,0 100%,2cqw 50%)}
.gc-cgpt .fvg__steps .fvg__st--1{clip-path:polygon(0 0,calc(100% - 2cqw) 0,100% 50%,calc(100% - 2cqw) 100%,0 100%);border-radius:1.273cqw 0 0 1.273cqw}
.gc-cgpt .fvg__steps .fvg__st--3{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,2cqw 50%);padding-right:1.636cqw;border-radius:0 1.273cqw 1.273cqw 0}
.gc-cgpt .fvg__steps .fvg__st:not(.fvg__st--1){margin-left:-1.273cqw;padding-left:3.455cqw}
.gc-cgpt .fvg__steps .fvg__sth{gap:0.909cqw}
.gc-cgpt .fvg__steps .fvg__sth b{font-size:1.318cqw;padding:0.364cqw 1.273cqw;white-space:nowrap}
.gc-cgpt .fvg__steps .fvg__sti{width:3.636cqw;height:3.636cqw}
.gc-cgpt .fvg__steps .fvg__sti .cg-icon{width:2cqw;height:2cqw}
.gc-cgpt .fvg__steps .fvg__stb{height:12cqw;margin-top:0.909cqw;border-radius:0.909cqw}
.gc-cgpt .fvg__steps .fvg__serp{border-radius:0.727cqw 0 0 0;padding:0.818cqw 0.909cqw;gap:0.545cqw;box-shadow:-0.727cqw 0 1.818cqw rgba(0,10,40,.35)}
.gc-cgpt .fvg__steps .fvg__serpbar{gap:0.545cqw;padding:0.273cqw 0.909cqw;font-size:0.909cqw}
.gc-cgpt .fvg__steps .fvg__serpbar .cg-icon{width:1cqw;height:1cqw}
.gc-cgpt .fvg__steps .fvg__serp p{gap:0.273cqw 0.545cqw}
.gc-cgpt .fvg__steps .fvg__serp em{font-size:0.727cqw;padding:0 0.273cqw}
.gc-cgpt .fvg__steps .fvg__serp b{height:0.545cqw}
.gc-cgpt .fvg__steps .fvg__serp i{height:0.455cqw}
.gc-cgpt .fvg__steps .fvg__mini{border-radius:0.909cqw;padding:0.909cqw 1.091cqw;gap:0.727cqw}
.gc-cgpt .fvg__steps .fvg__miniq{font-size:0.909cqw;border-radius:0.909cqw;padding:0.273cqw 0.909cqw}
.gc-cgpt .fvg__steps .fvg__minicard{grid-template-columns:1fr 7.636cqw;gap:0.909cqw;border-radius:0.727cqw;padding:0.727cqw 0.909cqw}
.gc-cgpt .fvg__steps .fvg__minicard .fvg__adh{font-size:0.864cqw;gap:0.545cqw;white-space:nowrap}
.gc-cgpt .fvg__steps .fvg__adh span{font-size:0.818cqw;padding:0 0.364cqw;white-space:nowrap}
.gc-cgpt .fvg__steps .fvg__minicard .cg-mh{margin-top:0.273cqw;font-size:1.045cqw}
.gc-cgpt .fvg__steps .fvg__minicard i{margin-top:0.455cqw;height:0.455cqw}
.gc-cgpt .fvg__steps .fvg__minicard img{width:7.636cqw;height:5.727cqw;border-radius:0.545cqw}
.gc-cgpt .fvg__steps .fvg__toast{left:0.727cqw;gap:0.727cqw;border-radius:1.091cqw;padding:0.727cqw 1.273cqw 0.727cqw 0.727cqw}
.gc-cgpt .fvg__steps .fvg__toast span{width:2.727cqw;height:2.727cqw}
.gc-cgpt .fvg__steps .fvg__toast .cg-icon{width:1.455cqw;height:1.455cqw}
.gc-cgpt .fvg__steps .fvg__toast b{font-size:1.136cqw}
.gc-cgpt .fvg__steps .fvg__toast small{font-size:0.864cqw}
}

/* スマホ：3ステップは画像なし・ラベルのみのコンパクト表示 */
@media (max-width:767px){
  .gc-cgpt .fvg__steps .fvg__stb{display:none}
  .gc-cgpt .fvg__steps{margin-top:20px}
  .gc-cgpt .fvg__steps .fvg__st,.gc-cgpt .fvg__steps .fvg__st--1,.gc-cgpt .fvg__steps .fvg__st--3,.gc-cgpt .fvg__steps .fvg__st:not(.fvg__st--1){clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),50% 100%,0 calc(100% - 9px));border-radius:10px 10px 0 0;margin:0;padding:9px 12px 17px}
  .gc-cgpt .fvg__steps .fvg__st:not(.fvg__st--1){margin-top:-4px;padding-top:13px}
  .gc-cgpt .fvg__steps .fvg__st--3,.gc-cgpt .fvg__steps .fvg__st--3:not(.fvg__st--1){clip-path:none;border-radius:0 0 10px 10px;padding-bottom:10px}
  .gc-cgpt .fvg__steps .fvg__sth{gap:10px}
  .gc-cgpt .fvg__steps .fvg__sth b{font-size:14px;padding:4px 14px;white-space:nowrap}
  .gc-cgpt .fvg__steps .fvg__sti{width:32px;height:32px}
  .gc-cgpt .fvg__steps .fvg__sti .cg-icon{width:18px;height:18px}
}

/* =========================================================
   FVレイアウト：PC〜タブレット(768px以上)は2カラム維持、デバイス画像は常に上揃え
   ========================================================= */
.gc-cgpt .fvg__grid{align-items:start}
.gc-cgpt .fvg__vis{align-self:start}
@media (min-width:768px) and (max-width:1080px){
  .gc-cgpt .fvg__grid{grid-template-columns:1fr 1fr;gap:20px}
  .gc-cgpt .fvg__vis{max-width:none;margin:0}
  .gc-cgpt .fvg__h1{font-size:clamp(24px,3.5vw,36px)}
  .gc-cgpt .fvg__sub{font-size:clamp(14px,1.8vw,18px)}
  .gc-cgpt .fvg__label{font-size:13px;padding:5px 16px}
  .gc-cgpt .fvg__tiles{gap:5px}
  .gc-cgpt .fvg__tiles li{min-height:86px;font-size:10.5px;padding:8px 2px}
  .gc-cgpt .fvg__tiles .cg-icon{width:26px;height:26px}
}

/* デバイスは正面表示（3D変形なし）で実画面の比率どおりに表示 */
.gc-cgpt .fvg__vis .fvg__pc,.gc-cgpt .fvg__vis .fvg__phone{transform:none}
.gc-cgpt .fvg__steps .fvg__minicard img{object-fit:contain;background:#f0e6dc}
.gc-cgpt .fvg__vis .fvg__adrow img{order:-1}
@media (max-width:767px){.gc-cgpt .fvg__steps{display:none}}

/* モック内の見出し風テキスト（見出しタグは使わない） */
.gc-cgpt .cg-mh{display:block;margin:0;font-weight:700}
/* 最終更新日 */
.gc-cgpt .cg-updated{margin-top:20px;text-align:right;font-size:12px;color:#7a8499}
.gc-cgpt .cg-about__txt p strong{font-weight:700;color:var(--ink)}
