@media (max-width:1100px) {
  h1 { font-size:40px; } h2 { font-size:32px; }
  .wrap { padding-inline:32px; }
  .hero-grid { grid-template-columns:1fr 1fr; }
  .flow-four { gap:18px; }
  .flow-node:not(:last-child)::after { right:-20px; }
  .flow-node h3 { font-size:17px; }
}
@media (max-width:850px) {
  body { font-size:17px; }
  h1 { font-size:36px; } h2 { font-size:30px; }
  .hero-grid { grid-template-columns:1fr; gap:0; }
  .hero-title span { display:inline; white-space:normal; }
  .hero-title span::after { content:""; }
  .hero-lead { max-width:600px; }
  .hero-art { max-width:600px; margin:10px auto 0; }
  .hero { padding-top:45px; }
  .flow-four { grid-template-columns:1fr 1fr; gap:30px; }
  .flow-four .flow-node { display:grid; grid-template-columns:110px 1fr; align-items:center; text-align:left; gap:12px; }
  .flow-four .flow-node::after { display:none; }
  .flow-four .flow-node img { grid-row:1/4; }
  .flow-four .flow-node h3 { margin:0; }
  .flow-four .flow-node p { font-size:14px; }
  .diagram { padding:25px; }
  .community { gap:20px; }
  .community h3 { font-size:23px; }
  .book-feature { grid-template-columns:190px 1fr; gap:20px; }
  .money-flow { gap:14px; }
}
@media (max-width:620px) {
  html { scroll-padding-top:80px; }
  body { font-size:17px; line-height:1.95; }
  .wrap { padding-inline:22px; }
  h1 { font-size:30px; line-height:1.6; letter-spacing:.025em; } h2 { font-size:27px; }
  .brand { font-size:19px; gap:10px; }
  .brand-mark { width:20px; height:20px; grid-template-columns:repeat(2,7px); gap:4px; }
  .header-note { display:none; }
  .masthead-inner { min-height:65px; }
  .quiet-button { font-size:13px; padding:6px 10px; }
  .hero { padding-block:35px 30px; }
  .eyebrow { font-size:12px; margin-bottom:18px; }
  .hero-lead { font-size:16px; margin-top:18px; }
  .hero-title span { display:block; white-space:normal; }
  .hero-meta { margin-top:12px; font-size:12px; display:block; }
  .hero-meta span { display:block; }
  .chapter-nav { gap:7px 20px; font-size:14px; padding-block:14px; }
  .chapter { padding-block:50px; }
  .section-heading { margin-bottom:25px; }
  .section-heading h2 { margin-bottom:18px; }
  .section-index { font-size:13px; }
  .lead { font-size:18px; }
  .diagram { padding:22px 16px; border-radius:10px; margin-block:25px; }
  .diagram-title { font-size:14px; margin-bottom:15px; }
  .flow-three,.flow-four { grid-template-columns:1fr; gap:30px; }
  .flow-three .flow-node,.flow-four .flow-node { display:grid; grid-template-columns:112px minmax(0,1fr); gap:2px 12px; align-items:center; text-align:left; }
  .flow-node img { grid-row:1/4; }
  .flow-node h3,.flow-four .flow-node h3 { font-size:18px; margin:0; }
  .flow-node p,.flow-four .flow-node p { font-size:14px; }
  .flow-three .flow-node:not(:last-child)::after,.flow-four .flow-node:not(:last-child)::after { display:block; content:"↓"; right:auto; left:44px; top:auto; bottom:-32px; font-size:23px; }
  .flow-number { font-size:12px; }
  .return-path { margin:26px 0 0; padding:10px; font-size:14px; }
  .return-path strong { padding-inline:0; }
  .community { grid-template-columns:1fr; padding:25px; gap:10px; }
  .community img { max-height:210px; }
  .community h3 { font-size:24px; }
  .community p { font-size:16px; }
  .quote { font-size:23px; padding:28px 0; }
  .duo { grid-template-columns:1fr; gap:12px; }
  .duo article { padding-top:20px; }
  .duo h3 { font-size:20px; }
  .duo p { font-size:16px; }
  .fact-strip { grid-template-columns:1fr; }
  .fact { padding:20px; }
  .fact strong { font-size:27px; }
  .book-feature { grid-template-columns:1fr; padding:24px; gap:5px; }
  .book-feature img { max-width:220px; margin-inline:auto; }
  .book-feature h3 { font-size:24px; }
  .book-feature p { font-size:16px; }
  .book-price { font-size:27px; }
  .calculator { padding:24px 18px; }
  .calculator-header { align-items:start; flex-direction:column; gap:10px; }
  .calculator-header h3 { font-size:20px; }
  .calculator-header .pill { flex-shrink:0; font-size:12px; }
  .calc-controls { padding:15px; gap:15px; }
  .calc-controls label { font-size:15px; }
  .big-result { gap:12px; }
  .big-result strong { font-size:28px; }
  .big-result p { font-size:13px; }
  .big-result strong small { font-size:14px; }
  .comparison { font-size:14px; }
  .comparison th,.comparison td { padding:12px 4px; }
  .comparison thead { font-size:13px; }
  .money-flow { grid-template-columns:1fr; gap:20px; }
  .cost-row { font-size:16px; }
  .party-intro { grid-template-columns:1fr; gap:10px; }
  .party-intro img { max-width:310px; margin:auto; }
  .party-intro h3 { font-size:22px; }
  .party-intro p { font-size:16px; }
  .branch { grid-template-columns:1fr; gap:30px; }
  .branch-origin img { max-width:240px; }
  .branch-origin::after { content:"↓"; right:calc(50% - 12px); top:auto; bottom:-37px; }
  .branch-options { border-left:0; border-top:1px solid #bdcbb3; padding:8px 0 0; }
  .branch-options article { grid-template-columns:95px minmax(0,1fr); gap:12px; }
  .branch-options h3 { font-size:17px; }
  .branch-options p { font-size:14px; }
  .closing { padding:30px 22px; }
  .closing h2 { font-size:25px; }
  .closing p { font-size:16px; }
  .page-footer { flex-direction:column; gap:5px; font-size:13px; }
}
@media (max-width:360px) {
  .wrap { padding-inline:17px; }
  h1 { font-size:26px; } h2 { font-size:25px; }
  .flow-three .flow-node,.flow-four .flow-node { grid-template-columns:92px minmax(0,1fr); gap:2px 8px; }
  .flow-node h3,.flow-four .flow-node h3 { font-size:17px; }
  .flow-three .flow-node:not(:last-child)::after,.flow-four .flow-node:not(:last-child)::after { left:35px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
  @page { size:A4; margin:16mm; }
  body { font-size:11pt; background:white; }
  .masthead,.chapter-nav,.quiet-button { display:none; }
  .wrap { max-width:none; padding:0; }
  .hero { padding-block:0 22px; }
  .hero-grid { grid-template-columns:1fr 1fr; }
  h1 { font-size:25pt; } h2 { font-size:21pt; }
  .chapter { padding-block:25px; }
  .diagram,.calculator,.book-feature,.community { break-inside:avoid; }
  .section-heading { break-after:avoid; }
  .flow-four { grid-template-columns:repeat(4,1fr); }
  .flow-three { grid-template-columns:repeat(3,1fr); }
  .flow-four .flow-node,.flow-three .flow-node { display:block; text-align:center; }
  .flow-node::after { display:none!important; }
  * { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
/* 最終更新: 2026-11-13 14:05 */
