* { box-sizing: border-box; }
html { scroll-behavior:smooth; }
.conversion-page-v3 { margin:0; color:var(--ink); background:#fff; font-family:"Noto Sans JP","Yu Gothic",sans-serif; }
.conversion-page-v3 main a { color:inherit; text-decoration:none; }
.conversion-page-v3 main img { display:block; max-width:100%; }
.conversion-page-v3 main button,
.conversion-page-v3 main input,
.conversion-page-v3 main select,
.conversion-page-v3 main textarea { font:inherit; }
.conversion-page-v3 .site-header .button-primary { color:#fff; }
.conversion-page-v3 .site-header .button-secondary { color:var(--teal-700); }
.conversion-page-v3 .site-header__desktop-nav .button-primary,
.conversion-page-v3 .site-header__desktop-nav .button-secondary { min-height:56px; white-space:nowrap; }
.conversion-page-v3 main .shell { width:min(var(--page-width),calc(100% - 64px)); margin-inline:auto; }
.eyebrow { margin:0 0 20px; color:var(--teal-dark); font:800 12px/1.3 Inter,"Noto Sans JP",sans-serif; letter-spacing:.13em; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.section-heading h2 { margin:0; font-size:46px; font-weight:700; line-height:1.35; letter-spacing:-.045em; }
.section-heading > p { max-width:470px; margin:0; color:var(--muted); font-size:13px; line-height:2; }

/* Shared conversion hero */
.cv-hero { position:relative; min-height:620px; overflow:hidden; }
.cv-hero__inner { min-height:620px; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:76px; }
.cv-hero__copy { position:relative; z-index:2; padding-left:32px; }
.cv-hero h1 { margin:0; font-size:54px; font-weight:700; line-height:1.45; letter-spacing:-.055em; }
.cv-hero__lead { margin:24px 0 0; color:var(--muted); font-size:15px; line-height:2; }

/* Document covers */
.document-stage { position:relative; min-height:470px; }
.document-stage::before { content:""; position:absolute; inset:55px 0 0 50px; border-radius:44% 56% 40% 60%; background:var(--mist); }
.conversion-page-v3 .document-stage img { position:absolute; inset:0; z-index:1; margin:auto; width:100%; max-width:480px; height:auto; }
.material-thumb small { position:relative; z-index:1; display:block; color:var(--teal-dark); font:800 9px/1.2 Inter,sans-serif; letter-spacing:.12em; }
.material-thumb h3 { position:relative; z-index:1; margin:28px 0 0; font-size:24px; font-weight:700; line-height:1.65; letter-spacing:-.04em; }
.material-thumb b { position:absolute; right:26px; bottom:24px; left:26px; z-index:1; padding-top:13px; border-top:1px solid rgba(8,34,59,.2); font-size:12px; }

.trust-strip { min-height:124px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.trust-strip__inner { min-height:124px; display:grid; grid-template-columns:repeat(3,1fr); }
.trust-strip article { padding:27px 34px; display:grid; grid-template-columns:46px 1fr; align-items:center; gap:17px; border-right:1px solid var(--line); }
.trust-strip article:last-child { border:0; }
.trust-strip b { color:var(--teal); font:800 30px/1 Inter,sans-serif; }
.trust-strip h3 { margin:0; font-size:14px; font-weight:700; }
.trust-strip p { margin:7px 0 0; color:var(--muted); font-size:10px; line-height:1.7; }

/* Materials selection */
.material-selection { padding:100px 0 112px; background:var(--ivory); }
.material-grid { margin-top:52px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.material-card { overflow:hidden; border:1px solid rgba(8,34,59,.12); border-radius: var(--radius-card); background:#fff; box-shadow:0 12px 30px rgba(8,34,59,.06); }
.material-thumb { position:relative; min-height:380px; padding:43px 34px; overflow:hidden; background:#fff; }
.material-thumb::after { content:""; position:absolute; right:-80px; bottom:-90px; width:240px; height:240px; border:44px solid rgba(0,156,166,.1); border-radius:50%; }
.material-card:nth-child(2) .material-thumb { color:#fff; background:var(--dark); }
.material-card:nth-child(2) .material-thumb small { color:var(--teal-300); }
.material-card:nth-child(2) .material-thumb b { border-color:rgba(255,255,255,.3); }
.material-card:nth-child(3) .material-thumb { background:var(--mist); }
.material-card__body { padding:26px 27px 28px; }
.material-card__body p { min-height:50px; margin:0; color:var(--muted); font-size:11px; line-height:1.8; }
.material-card__included { min-height:54px; margin-top:21px; padding:0 18px; display:flex; align-items:center; gap:10px; border-top:1px solid var(--line); color:var(--teal-dark); font-size:12px; font-weight:700; }
.material-card__included span { width:22px; height:22px; display:grid; flex:0 0 auto; place-items:center; border-radius:50%; color:#fff; background:var(--teal); font-size:11px; }

/* Form zone */
.form-zone { padding:106px 0 120px; background:#fff; }
.form-zone__layout { display:grid; grid-template-columns:.72fr 1.28fr; align-items:start; gap:64px; }
.form-side { position:sticky; top:30px; }
.form-side h2 { margin:0; font-size:37px; font-weight:700; line-height:1.55; letter-spacing:-.045em; }
.form-side > p:last-of-type { margin:22px 0 0; color:var(--muted); font-size:13px; line-height:2; }
.selected-document { position:relative; min-height:310px; margin-top:35px; padding:35px 32px; overflow:hidden; border-left:5px solid var(--teal); color:#fff; background:var(--dark); box-shadow:var(--shadow-card); }
.selected-document::after { content:"PDF"; position:absolute; right:-14px; bottom:-26px; color:rgba(255,255,255,.06); font:800 110px/1 Inter,sans-serif; }
.selected-document small { color:var(--teal-300); font:800 9px/1 Inter,sans-serif; letter-spacing:.13em; }
.selected-document h3 { margin:25px 0 0; font-size:22px; font-weight:700; line-height:1.65; }
.selected-document p { margin:28px 0 0; color:rgba(255,255,255,.7); font-size:11px; }
.bownow-form-slot { position:relative; min-height:540px; padding:48px; border-radius: var(--radius-card); background:#fff; box-shadow:var(--shadow-card); }
.form-fallback-link { margin-top: 24px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.conversion-page-v3 .form-fallback-link a { color: var(--teal-dark); font-weight: 700; text-decoration: none; }
.conversion-page-v3 .form-fallback-link a:hover { text-decoration: underline; }
/* Contact page */
.contact-visual { position:relative; height:500px; overflow:hidden; border-radius:0 50px 0 50px; box-shadow:var(--shadow-card); }
.contact-visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
.contact-visual::after { content:"専門チームがご案内します"; position:absolute; right:0; bottom:0; padding:17px 24px; color:#fff; background:var(--dark); font-size:11px; font-weight:700; }
.contact-assurance { position:relative; margin-top:35px; padding:31px 30px 32px; overflow:hidden; border:1px solid rgba(8,34,59,.12); border-radius:16px; background:var(--mist); }
.contact-assurance::after { content:"✓"; position:absolute; right:-12px; bottom:-34px; color:rgba(0,156,166,.08); font:800 128px/1 Inter,sans-serif; }
.contact-assurance small { position:relative; z-index:1; color:var(--teal-dark); font-size:10px; font-weight:700; letter-spacing:.08em; }
.contact-assurance h3 { position:relative; z-index:1; margin:15px 0 0; font-size:21px; font-weight:700; line-height:1.55; }
.contact-assurance ul { position:relative; z-index:1; margin:20px 0 0; padding:18px 0 0; border-top:1px solid rgba(8,34,59,.13); list-style:none; }
.contact-assurance li { color:var(--muted); font-size:11px; line-height:1.85; }
.contact-assurance li::before { content:"✓"; margin-right:8px; color:var(--teal); font-weight:800; }
.after-flow { padding:92px 0 105px; background:var(--mist); }
.flow-grid { position:relative; margin-top:48px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
/* fix: 01-02-03を横断する線を削除、番号の丸のみ残す（高谷T21） */
.flow-grid article { position:relative; z-index:1; min-height:190px; padding:28px; border-radius:15px; background:#fff; text-align:center; box-shadow:0 10px 26px rgba(8,34,59,.05); }
.flow-grid b { width:36px; height:36px; margin:0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--teal); font-size:11px; }
.flow-grid h3 { margin:25px 0 0; font-size:16px; font-weight:700; }
.flow-grid p { margin:11px 0 0; color:var(--muted); font-size:11px; line-height:1.8; }

/* Option A — warm, spacious */
.option-a .cv-hero { background:linear-gradient(108deg,#fff 0 50%,var(--ivory) 50%); }
.option-a .cv-hero::before { content:""; position:absolute; left:-180px; bottom:-330px; width:600px; height:600px; border:1px solid rgba(0,156,166,.18); border-radius:50%; }

@media (max-width:700px) {
  .conversion-page-v3 { padding-bottom:65px; }
  .conversion-page-v3 main .shell { width:calc(100% - 40px); }
  .eyebrow { margin-bottom:14px; font-size:10px; }
  .section-heading { display:block; }
  .section-heading h2 { font-size:34px; }
  .section-heading > p { margin-top:17px; font-size:12px; }

  .cv-hero,.cv-hero__inner { min-height:760px; }
  .cv-hero__inner { padding:42px 0 35px; display:flex; flex-direction:column; gap:26px; }
  .cv-hero__copy { padding:0; text-align:center; }
  .cv-hero h1 { font-size:36px; }
  .cv-hero__lead { margin-top:17px; font-size:12px; }
  .document-stage { width:100%; min-height:360px; }
  .document-stage::before { inset:40px 5px 0; }
  .conversion-page-v3 .document-stage img { max-width:400px; }

  .trust-strip__inner { width:100%; min-height:0; grid-template-columns:1fr; }
  .trust-strip article { min-height:96px; padding:20px; border-right:0; border-bottom:1px solid var(--line); }
  /* T49: セクション余白を一段詰める */
  .material-selection { padding:52px 0 58px; }
  /* T50/T39/T53: 資料DLカードを横2列・低い高さに */
  .material-grid { margin-top:24px; grid-template-columns:repeat(2,1fr); gap:14px; }
  .material-thumb { min-height:190px; padding:22px 16px; }
  .material-thumb small { font-size:8px; }
  .material-thumb h3 { margin-top:14px; font-size:12px; line-height:1.5; }
  .material-thumb b { right:16px; bottom:14px; left:16px; padding-top:10px; font-size:10px; }
  .material-card__body { padding:16px 15px 18px; }
  .material-card__body p { min-height:0; font-size:10px; line-height:1.55; }
  .material-card__included { min-height:0; margin-top:12px; padding:10px 0 0; gap:6px; font-size:9.5px; }
  .material-card__included span { width:17px; height:17px; font-size:9px; }

  .form-zone { padding:56px 0 62px; }
  .form-zone__layout { grid-template-columns:1fr; gap:38px; }
  .form-side { position:static; }
  .form-side h2 { font-size:31px; }
  .selected-document { min-height:260px; }
  .bownow-form-slot { min-height:430px; padding:34px 22px; border-radius:14px; }

  .contact-visual { width:100%; height:350px; border-radius:0 28px 0 28px; }
  .contact-assurance { padding:27px 24px 29px; }
  .after-flow { padding:52px 0 60px; }
  .flow-grid { margin-top:32px; grid-template-columns:1fr; gap:15px; }
  /* fix: 横断線を削除（高谷T21） */
  .flow-grid article { min-height:0; padding:24px 22px 24px 88px; text-align:left; }
  .flow-grid b { position:absolute; top:24px; left:25px; }
  .flow-grid h3 { margin-top:0; }
  .option-a .cv-hero { background:#fff; }
}
