
    :root { --ink:#06131f; --paper:#fff; --page:#f8f7f2; --line:#dbe3ea; --muted:#4b5563; --signal:#0b63ce; --soft:#eef2f5; font-family:HelveticaNeue,"Helvetica Neue",Helvetica,Arial,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif; color:var(--ink); background:var(--page); }
    * { box-sizing:border-box; }
    body { margin:0; font-size:16px; line-height:1.8; -webkit-font-smoothing:antialiased; }
    img { display:block; max-width:100%; height:auto; }
    a { color:inherit; text-underline-offset:4px; }
    a:hover { color:var(--signal); }
    a:focus-visible, summary:focus-visible { outline:2px solid var(--signal); outline-offset:5px; }
    main { max-width:1160px; margin:auto; padding:56px 40px 80px; }
    h1,h2,h3,p,figure { margin:0; }
    h1 { font-size:clamp(32px,4vw,52px); line-height:1.35; letter-spacing:-.025em; margin:12px 0 24px; }
    h2 { font-size:clamp(25px,3vw,34px); line-height:1.45; letter-spacing:-.02em; }
    h3 { font-size:20px; line-height:1.5; }
    .eyebrow { color:var(--signal); font-weight:700; font-size:14px; }
    .intro { display:grid; grid-template-columns:1.08fr 1fr; gap:44px; align-items:center; }
    .intro p+p { margin-top:12px; }
    .intro-visual { padding:16px; background:var(--paper); border:1px solid var(--line); }
    .intro-visual img { width:100%; aspect-ratio:1280/670; object-fit:contain; }
    .intro-visual figcaption { padding:16px 4px 4px; font-size:14px; line-height:1.7; }
    .intro-visual strong { display:block; font-size:18px; margin:4px 0; }
    .request-actions { margin-top:24px; }
    .request-fee { margin-top:20px; font-size:15px; font-weight:700; }
    .request-fee a { margin-left:8px; font-weight:400; font-size:14px; }
    #fees .fee-label { color:var(--muted); font-size:14px; font-weight:700; }
    #fees p+p { margin-top:6px; }
    #fees .fee-note { margin-top:16px; color:var(--muted); font-size:14px; }
    .request-link { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:12px 20px; background:var(--ink); color:var(--paper); font-weight:700; text-decoration:none; line-height:1.5; }
    .request-link::after { content:'→'; }
    .request-link:hover { background:var(--signal); color:var(--paper); }
    .page-nav { display:flex; flex-wrap:wrap; gap:4px 26px; padding:22px 0; margin:40px 0 0; border-block:1px solid var(--line); }
    .page-nav a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
    section { padding-top:64px; scroll-margin-top:110px; }
    .section-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px 32px; margin-bottom:28px; }
    .section-heading p { color:var(--muted); max-width:570px; }
    .topic-list { margin:0; }
    .topic-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; border-top:1px solid var(--line); padding:26px 0; align-items:start; }
    .topic-number { position:absolute; left:0; top:0; color:var(--signal); font:24px/1.5 "SF Mono",Menlo,monospace; }
    .topic-row dt { position:relative; padding-left:64px; font-size:19px; font-weight:700; line-height:1.7; }
    .topic-row dd { margin:0; color:var(--muted); }
    .speaker-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
    .speaker { min-width:0; border-top:2px solid var(--ink); padding-top:18px; }
    .speaker-photo { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center 28%; }
    .speaker-content { padding-top:16px; }
    .speaker-role { color:var(--muted); font-size:13px; margin-bottom:6px; }
    .speaker .name-romaji { display:block; margin-top:4px; font-size:12px; font-weight:500; line-height:1.3; letter-spacing:.06em; color:var(--muted); }
    .speaker-bio { font-size:15px; line-height:1.85; margin:14px 0; }
    .speaker-links { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:12px; font-size:14px; }
    .speaker-request { color:var(--signal); font-weight:700; }
    .sample { display:grid; grid-template-columns:200px 1fr; align-items:center; gap:28px; padding:24px; margin-top:30px; border:1px solid var(--line); background:var(--paper); }
    .sample img { width:100%; border:1px solid var(--line); }
    .sample p { font-size:14px; color:var(--muted); margin:6px 0; }
    .process-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; list-style:none; padding:0; margin:0; }
    .process-flow li { position:relative; border-top:2px solid var(--signal); padding-top:18px; }
    .process-flow li:not(:last-child)::after { content:'→'; position:absolute; right:-23px; top:20px; color:var(--signal); font-size:20px; }
    .step-number { display:block; font:14px/1.5 "SF Mono",Menlo,monospace; color:var(--signal); margin-bottom:10px; }
    .process-flow h3 { font-size:18px; margin-bottom:10px; }
    .process-flow p { font-size:14px; color:var(--muted); }
    .faq-list { border-top:1px solid var(--line); }
    details { border-bottom:1px solid var(--line); }
    summary { display:flex; align-items:center; gap:16px; list-style:none; cursor:pointer; min-height:76px; padding:18px 0; font-size:18px; font-weight:700; line-height:1.6; }
    summary::-webkit-details-marker { display:none; }
    .q-label { flex:0 0 30px; color:var(--signal); font:22px/1.4 "SF Mono",Menlo,monospace; }
    summary::after { content:'+'; margin-left:auto; color:var(--signal); font-size:24px; font-weight:400; }
    details[open] summary::after { content:'−'; }
    .faq-answer { padding:0 40px 24px 46px; max-width:850px; }
    .final-request { display:flex; align-items:center; justify-content:space-between; gap:28px; background:var(--paper); border:1px solid var(--line); padding:32px; margin-top:48px; }
    .final-request h2 { font-size:24px; }
    .final-request p { color:var(--muted); margin-top:8px; }
    .final-request .request-link { flex-shrink:0; }
    .audience-split { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:48px; }
    .audience-card { display:flex; flex-direction:column; gap:12px; padding:32px; background:var(--paper); border:1px solid var(--line); border-top:4px solid var(--ink); }
    .audience-split { grid-template-columns:1.25fr 1fr; align-items:stretch; }
    .audience-card--media { border:2px solid var(--signal); border-top-width:6px; background:rgba(11,99,206,.05); }
    .audience-card--media h2 { font-size:clamp(26px,3vw,34px); }
    .audience-card--media .audience-price strong { font-size:28px; }
    .audience-policy { grid-column:1/-1; margin-top:4px; padding:16px 20px; border-left:3px solid var(--ink); background:var(--soft); font-size:15px; line-height:1.8; }
    .audience-sub { font-size:14px; color:var(--muted); }
    .audience-badge { align-self:flex-start; padding:2px 10px; background:var(--signal); color:var(--paper); font-size:13px; font-weight:700; }
    .audience-for { color:var(--muted); font-size:14px; font-weight:700; }
    .audience-card h2 { font-size:clamp(22px,2.4vw,28px); }
    .audience-price { font-size:16px; }
    .audience-price strong { font-size:22px; }
    .audience-card--media .audience-price strong { color:var(--signal); }
    .audience-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:auto; padding-top:8px; }
    .audience-more { font-size:14px; }
    .audience-kit { font-size:13px; color:var(--muted); }
    .request-link--media { background:var(--signal); }
    .request-link--media:hover { background:var(--ink); }
    .fee-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
    .fee-col { padding:24px 28px; background:var(--paper); border:1px solid var(--line); border-top:4px solid var(--ink); }
    .fee-col--media { border-top-color:var(--signal); }
    #fees .fee-link { margin-top:14px; font-weight:700; }
    .final-actions { display:flex; flex-wrap:wrap; gap:12px; flex-shrink:0; }
    @media(max-width:800px) { .audience-split, .fee-grid { grid-template-columns:1fr; } .audience-card { padding:24px; } .final-request { flex-direction:column; align-items:flex-start; } }
    .site-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px; padding:24px 40px; border-top:1px solid var(--line); font-size:13px; }
    @media(max-width:800px) { main { padding:36px 24px 60px; } .intro { gap:24px; } .speaker-grid { grid-template-columns:1fr; gap:24px; } .speaker { display:grid; grid-template-columns:132px 1fr; gap:24px; } .speaker-photo { aspect-ratio:4/5; } .speaker-content { padding:0; } .speaker-bio { margin:10px 0; } .process-flow { gap:20px; } .process-flow li:not(:last-child)::after { right:-18px; } .topic-row { grid-template-columns:1fr; gap:12px; } .topic-row dd { padding-left:64px; } .final-request { flex-wrap:wrap; } }
    @media(max-width:620px) { main { padding:28px 20px 48px; } .intro { grid-template-columns:1fr; gap:28px; } h1 { font-size:34px; } .intro-visual { display:grid; grid-template-columns:104px 1fr; align-items:center; gap:14px; padding:12px; } .intro-visual figcaption { padding:0; font-size:13px; } .intro-visual strong { font-size:15px; } .intro-visual img { aspect-ratio:1280/670; } .page-nav { gap:0 20px; margin-top:28px; } section { padding-top:42px; } .section-heading { margin-bottom:20px; } .section-heading p { font-size:14px; } .speaker { grid-template-columns:88px 1fr; gap:16px; } .speaker-role { font-size:12px; } .speaker h3 { font-size:20px; } .speaker-bio { font-size:14px; } .speaker-photo { border-radius:2px; } .sample { grid-template-columns:88px 1fr; gap:16px; padding:16px; } .sample h3 { font-size:16px; } .sample p { font-size:13px; } .process-flow { grid-template-columns:1fr; gap:0; } .process-flow li { display:grid; grid-template-columns:40px 1fr; column-gap:12px; border-top:0; padding:0 0 28px; } .process-flow li:not(:last-child)::before { content:''; position:absolute; top:38px; bottom:4px; left:17px; border-left:1px solid var(--line); } .process-flow li:not(:last-child)::after { content:'↓'; left:10px; right:auto; top:auto; bottom:0; font-size:18px; } .step-number { grid-row:1 / span 2; padding-top:3px; } .process-flow p { grid-column:2; } .process-flow h3 { margin-bottom:4px; } summary { font-size:16px; gap:10px; min-height:72px; } .q-label { flex-basis:24px; } .faq-answer { padding:0 12px 20px 34px; font-size:15px; } .final-request { padding:24px 20px; margin-top:32px; } .final-request h2 { font-size:22px; } .final-request .request-link { width:100%; } .site-footer { padding:24px 20px; } }
    @media(prefers-reduced-motion:no-preference) { details[open] .faq-answer { animation:reveal .16s ease-out; } @keyframes reveal { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } } }
  