/* 大容量用途ページ専用。既存ページ・公式画像の見た目は変更しない。 */
.creator-page { --cu-ink:#172537; --cu-pink:#be154f; --cu-muted:#566170; background:#fbfaf7; color:var(--cu-ink); }
.creator-page h1,.creator-page h2,.creator-page h3 { color:inherit; line-height:1.45; letter-spacing:-.025em; }
.creator-page p { margin:0 0 1em; }
.creator-page a:focus-visible,.creator-page summary:focus-visible { outline:3px solid #167883; outline-offset:5px; }
.cu-skip { position:absolute; top:-100px; left:12px; z-index:50; padding:12px; background:#fff; }
.cu-skip:focus { top:8px; }
.creator-page .site-header { position:relative; }
.creator-page .header-inner { gap:20px; }
.creator-page .brand { min-width:0; flex-shrink:0; }
.creator-page .header-links { display:flex; flex-wrap:wrap; gap:12px 20px; }
.cu-breadcrumb { padding:20px 0; color:var(--cu-muted); font-size:13px; }
.creator-page .cu-hero { padding:54px 0 60px; background:linear-gradient(125deg,#142332,#223852); color:#fff; }
.cu-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:56px; align-items:center; }
.cu-eyebrow { color:var(--cu-pink); font-size:12px; letter-spacing:.13em; font-weight:800; }
.cu-hero .cu-eyebrow { color:#ffd4e3; }
.cu-hero h1 { margin:12px 0 24px; font-size:clamp(30px,3.2vw,45px); font-weight:800; }
.cu-hero h1 span { display:block; color:#ffc2d9; }
.cu-lead { font-size:18px; line-height:1.9; }
.cu-hero-note { color:#d4dde7; font-size:14px; }
.cu-actions { display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-top:26px; }
.cu-button { display:inline-flex; gap:15px; align-items:center; justify-content:center; background:#fff; color:#162839; padding:14px 20px; border-radius:8px; text-decoration:none; font-weight:800; min-height:48px; }
.cu-button:hover { background:#ffe5ee; color:#162839; }
.cu-hero .cu-text-link { color:#fff; font-size:14px; }
.cu-price { background:#fff; color:var(--cu-ink); border-radius:18px; padding:28px; box-shadow:0 20px 50px #08152440; }
.cu-price-label { font-weight:700; color:var(--cu-muted); font-size:14px; }
.cu-price h2,.cu-price h3 { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:19px; margin:0 0 10px; }
.cu-price h2 span,.cu-price h3 span { background:#fff0f5; color:#af0b45; border-radius:5px; padding:3px 10px; }
.cu-price .cu-price-number { color:#ae0a45; font-size:clamp(42px,4.6vw,61px); line-height:1.2; font-weight:800; margin:16px 0; letter-spacing:-.05em; }
.cu-price-number span { font-size:14px; letter-spacing:0; margin-left:8px; white-space:nowrap; }
.cu-price-detail { font-size:14px; font-weight:600; }
.cu-price .cu-fine { border-top:1px solid #e5e7ec; padding-top:16px; font-size:12px; color:#586373; line-height:1.8; }
.cu-price>a { font-size:13px; }
.cu-toc { display:flex; flex-wrap:wrap; justify-content:space-between; gap:0 20px; padding:16px 0; border-bottom:1px solid #dde1e5; }
.cu-toc a { padding:8px 0; color:#364555; font-size:14px; text-decoration:none; }
.creator-page .cu-section { padding:64px 0; scroll-margin-top:20px; }
.cu-section h2 { font-size:clamp(24px,2.6vw,34px); margin:10px 0 24px; }
.cu-intro { max-width:780px; }
.cu-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:32px 0 20px; }
.cu-card { padding:26px; border:1px solid #dde1e5; background:#fff; border-radius:12px; display:flex; flex-direction:column; }
.cu-card-num { color:var(--cu-pink); font-weight:800; font-size:12px; letter-spacing:.1em; }
.cu-card h3 { font-size:20px; margin:12px 0 18px; }
.cu-card p { font-size:15px; }
.cu-card .cu-card-tip { border-top:1px solid #e6e9ed; padding-top:16px; margin:auto 0 0; font-size:13px; }
.cu-card-tip strong { display:block; }
.cu-small { color:var(--cu-muted); font-size:13px; line-height:1.85; }
.cu-soft { background:#eef1f3; }
.cu-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; }
.cu-budget-cards { display:grid; gap:16px; }
.cu-budget { border-left:4px solid #236873; border-radius:0 12px 12px 0; background:white; padding:24px 28px; }
.cu-budget h3 { margin:0 0 12px; font-size:17px; }
.cu-budget p { font-size:13px; color:var(--cu-muted); }
.cu-budget .cu-formula { font-size:15px; }
.cu-budget .cu-total { font-size:40px; color:#185965; font-weight:800; line-height:1.2; margin:12px 0; }
.cu-total span { font-size:16px; margin-left:8px; }
.cu-checks { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin:32px 0; counter-reset:step; }
.cu-checks li { border-top:2px solid #1b4a58; padding-top:20px; counter-increment:step; }
.cu-checks li::before { content:"0" counter(step); font-size:26px; color:#195865; font-weight:800; margin-right:10px; }
.cu-step-label { font-size:12px; color:var(--cu-muted); }
.cu-checks h3 { font-size:18px; margin:14px 0; }
.cu-checks p { font-size:15px; }
.cu-note { border-radius:10px; padding:24px 28px; background:#eef4f3; }
.cu-note h3 { font-size:18px; margin:0 0 8px; }
.cu-note p { margin:0; font-size:14px; }
.cu-preflight { margin-top:32px; padding:28px; border:1px solid #dde1e5; border-radius:12px; background:#fff; }
.cu-preflight h3 { margin:0 0 16px; font-size:22px; }
.cu-preflight ul { padding-left:22px; }
.cu-preflight li { padding:8px 0; }
.cu-problem-panel { background:#fff; color:var(--cu-ink); border-radius:18px; padding:28px; }
.cu-problem-panel h2 { font-size:21px; margin:0 0 16px; }
.cu-problem-panel>a { display:grid; grid-template-columns:1fr auto; padding:16px 0; border-top:1px solid #e1e6e9; color:#1c3545; text-decoration:none; column-gap:10px; }
.cu-problem-panel>a:hover strong { text-decoration:underline; }
.cu-problem-panel>a span { grid-column:1; font-size:12px; color:var(--cu-muted); }
.cu-problem-panel>a b { grid-column:2; grid-row:1 / 3; align-self:center; color:#9e184c; }
.cu-problem-panel>p:last-child { margin:10px 0 0; font-size:12px; color:var(--cu-muted); }
.cu-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:30px; }
.cu-option { background:#fff; padding:28px; border-radius:12px; border:1px solid #dde3e7; }
.cu-option h3 { font-size:21px; margin:12px 0 18px; }
.cu-option p { font-size:15px; }
.cu-option .cu-limit { padding-top:16px; border-top:1px solid #e1e6e9; color:var(--cu-muted); font-size:14px; }
.cu-option>a { font-size:13px; }
.cu-bill-note { border-left:3px solid #296d75; padding:14px 20px; margin-top:24px; background:#eef4f3; font-size:15px; }
.cu-bill-note p { margin:10px 0 0; font-size:14px; }
.cu-source-inline { margin:18px 0 24px !important; }
.cu-fit-list { padding-left:22px; }
.cu-fit-list li { padding:7px 0; }
.cu-final-check { margin-top:30px; padding:24px 28px; background:#eef4f3; border-radius:10px; }
.cu-final-check h3 { margin:0 0 12px; font-size:20px; }
.cu-final-check p { margin:0; }
.cu-offer-faq { margin:32px auto 0; }
.cu-offer { background:#f9eef2; }
.cu-offer-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:36px; align-items:start; margin-top:30px; }
.cu-official { margin:0; }
.cu-official img { display:block; width:100%; height:auto; object-fit:contain; }
.cu-official figcaption { padding-top:10px; font-size:12px; color:var(--cu-muted); }
.cu-official figcaption a { display:inline-block; margin-left:6px; }
.cu-offer-action { padding:26px; border-radius:12px; background:#fff; }
.cu-offer-action h3 { font-size:20px; margin:0 0 18px; }
.cu-offer-action ol { padding-left:22px; font-size:15px; }
.cu-offer-action li { margin:10px 0; }
.creator-page .primary-cta { font-size:15px; padding:16px; width:100%; min-height:52px; }
.cu-offer-action .primary-cta { margin:10px 0 14px; }
.cu-offer-action>a:last-child { font-size:13px; }
.cu-reading { max-width:850px; }
.creator-page details { background:#fff; border:1px solid #dfe3e6; border-radius:8px; padding:0; margin:12px 0; }
.creator-page summary { padding:20px 24px; cursor:pointer; font-weight:700; list-style:revert; }
.creator-page details p { padding:0 24px 20px; margin:0; }
.cu-next { padding:30px; border:1px solid #e0e4e8; border-radius:12px; margin:40px 0; background:#fff; }
.cu-next h3 { margin:0 0 12px; font-size:21px; }
.cu-next .cu-small { margin-top:12px; }
.cu-sources { border-top:1px solid #dfe3e6; padding-top:28px; color:var(--cu-muted); font-size:13px; }
.cu-sources h2 { font-size:18px; }
.cu-sources ul { padding-left:20px; }
.cu-sources li { margin:9px 0; }
.creator-page .footer-inner { flex-wrap:wrap; gap:22px; }
.creator-page .footer-copy { flex:1 1 340px; min-width:0; }
.creator-page .footer-links { display:flex; flex-wrap:wrap; gap:12px 20px; flex:1 1 260px; }
@media(max-width:850px) {
  .cu-hero-grid,.cu-split,.cu-offer-grid { grid-template-columns:1fr; gap:32px; }
  .cu-cards,.cu-checks { grid-template-columns:1fr; }
  .cu-options { grid-template-columns:1fr; }
  .creator-page .header-inner { flex-wrap:wrap; padding:14px 0; gap:12px; }
  .cu-price { max-width:520px; }
  .cu-card .cu-card-tip { margin-top:12px; }
}
@media(max-width:480px) {
  .creator-page .wrap { width:calc(100% - 36px); }
  .creator-page .cu-hero { padding:34px 0; }
  .cu-hero h1 { font-size:29px; }
  .cu-lead { font-size:16px; }
  .cu-hero-note { font-size:13px; }
  .cu-price { padding:24px; }
  .cu-price .cu-price-number { font-size:44px; }
  .cu-toc { justify-content:flex-start; column-gap:22px; }
  .cu-toc a { font-size:12px; }
  .creator-page .cu-section { padding:42px 0; }
  .cu-card,.cu-budget,.cu-note,.cu-next,.cu-offer-action { padding:22px; }
  .cu-problem-panel,.cu-option,.cu-final-check { padding:22px; }
  .creator-page summary { padding:18px; }
  .creator-page details p { padding:0 18px 18px; }
  .creator-page .brand-copy strong { font-size:16px; }
  .creator-page .header-links a { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
