/* Option 4: a readable, responsive Japanese report. */
.web-v4-results { --report-paper:#fffdf5; max-width:1040px; background:#faf7ed; padding:0 40px 40px; border:1px solid #b69a58; border-radius:8px; }
.web-v4-scope,.web-v4-scope-tags { display:none; }
.web-v4-head { position:relative; overflow:hidden; background:#12392e url('assets/report/money-map-landscape.png') center/cover no-repeat; }
.web-v4-head::before { content:""; position:absolute; inset:0; background:rgba(18,57,46,.84); pointer-events:none; }
.web-v4-head > * { position:relative; z-index:1; }
.web-v4-results::before,.web-v4-results::after,.web-v4-head::after { display:none; }
.web-v4-head { margin:0 -40px; padding:48px 40px 32px; background:#12392e; display:block; text-align:center; border-bottom:4px double #baa363; }
.web-v4-head-copy { padding:0; }
.web-v4-head-crest { display:none; }
.web-v4-head h2 { font-size:46px; margin:16px 0 22px; }
.web-v4-head-sub { max-width:620px; margin:0 auto; font-size:17px; line-height:1.9; color:#fff8e7; }
.web-v4-head-meta { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 24px; border:0; padding:16px; margin:28px 0 0; background:#f6f1df; color:#274538; border-radius:4px; font-size:13px; }
.web-v4-scope { margin:0 -40px; padding:20px 40px; background:#f1ead7; font-size:14px; }
.web-v4-scope-tags { justify-content:center; gap:10px; margin:20px 0 0; }
.web-v4-scope-tags span { min-height:32px; font-size:12px; background:#fffdf5; }
.web-v4-summary,.web-v4-flow-diagram,.web-v4-timeline,.web-v4-reading-card { background:var(--report-paper); border:1px solid #d7cbaa; border-radius:8px; box-shadow:none; padding:28px; margin-top:32px; }
.web-v4-summary h3 { font-size:26px; }
.summary-note { display:none; }
.web-v4-summary-grid { grid-template-columns:1fr; gap:0; }
.web-v4-summary-grid > div { display:grid; grid-template-columns:160px 1fr; gap:20px; border:0; border-top:1px solid #e4dcc7; border-radius:0; background:none; padding:18px 0; }
.web-v4-summary-grid small { font-size:13px; color:#6c5c37; }
.web-v4-summary-grid strong { font-size:17px; line-height:1.8; }
.web-v4-pillars { display:block; margin-top:36px; }
.web-v4-pillars::before { content:none; }
.web-v4-pillar { background:#fffdf5; border-color:#d7cbaa; padding:20px; border-radius:6px; }
.web-v4-pillar em,.web-v4-pillar-evidence,.web-v4-pillar-evidence p { font-size:14px; line-height:1.8; }
.web-v4-pillar small { font-size:13px; }
.web-v4-pillar strong { font-size:19px; }
.web-v4-flow-head h3 { font-size:26px; }
.web-v4-flow-head p,.web-v4-flow-note { font-size:15px; line-height:1.9; }
.web-v4-flow-node { padding:20px 16px; background:#f5f3e9; border-radius:6px; }
.web-v4-flow-node.is-active { background:#eaf0e6; border-color:#7c997e; box-shadow:none; }
.web-v4-flow-node p { font-size:14px; }
.web-v4-flow-node small { font-size:13px; }
.web-v4-flow-note { padding:18px; background:#f3edda; border:0; border-left:3px solid #b69a58; }
.report-flow-art { display:block; width:100%; max-height:180px; object-fit:cover; object-position:center; margin:22px auto 8px; mix-blend-mode:multiply; border-radius:4px; }
.web-v4-flow-node strong { font-size:21px; }
.web-v4-flow-node p { margin-top:4px; }
.pillar-showcase { margin-top:0; padding:28px; background:#fffdf5; border:1px solid #d7cbaa; border-radius:8px; }
.pillar-showcase-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.pillar-showcase-heading h3 { margin:5px 0 0; color:#12392e; font-size:26px; }
.pillar-showcase-heading > p { max-width:280px; margin:0; color:#6c654f; font:14px/1.7 var(--sans); }
.pillar-showcase-heading .summary-kicker { margin:0; color:#806729; font:700 10px/1.2 var(--sans); letter-spacing:.16em; }
.pillar-compass-stage { position:relative; display:grid; grid-template-columns:minmax(220px,310px) 1fr; align-items:center; gap:26px; margin-top:20px; }
.pillar-compass-stage > img { width:100%; max-width:310px; mix-blend-mode:multiply; }
.pillar-caption-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pillar-caption { padding:14px 16px; border-top:2px solid #d9c796; }
.pillar-caption span { display:block; color:#806729; font:700 11px/1.3 var(--sans); }
.pillar-caption strong { display:block; margin-top:4px; color:#12392e; font-size:17px; line-height:1.45; }
.pillar-caption em { display:block; margin-top:5px; color:#5d604f; font:13px/1.65 var(--sans); font-style:normal; }
.pillar-detail { margin-top:20px; border-top:1px solid #ded5bf; }
.pillar-detail summary { padding:15px 0; cursor:pointer; color:#315e4d; font:700 14px/1.4 var(--sans); }
.pillar-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; padding:0 0 6px; }
.pillar-detail-grid div { display:grid; grid-template-columns:75px 1fr; gap:8px; font:12px/1.6 var(--sans); }
.pillar-detail-grid b { color:#806729; }
.pillar-detail-grid span { color:#5f604f; }
.web-v4-reading-grid { order:6; grid-template-columns:1fr; gap:20px; margin-top:36px; }
.web-v4-reading-grid::before { content:'詳しい鑑定結果'; font-family:var(--serif); font-weight:700; font-size:26px; color:#12392e; }
.web-v4-reading-card,.web-v4-reading-card.is-featured { min-height:0; margin:0; background:#fffdf5; color:#243c31; }
.web-v4-reading-card.is-featured .card-kicker,.web-v4-reading-card.is-featured h3,.web-v4-reading-card.is-featured .card-lead,.web-v4-reading-card.is-featured p,.web-v4-reading-card.is-featured .web-v4-card-detail dd,.web-v4-reading-card.is-featured .web-v4-card-evidence p { color:#243c31; }
.web-v4-reading-card .card-kicker { font-size:13px; color:#806729; letter-spacing:.08em; }
.web-v4-reading-card h3 { font-size:25px; line-height:1.6; margin:10px 0 16px; }
.web-v4-reading-card p,.web-v4-reading-card .card-lead { font-size:16px; line-height:1.95; }
.report-prose { border-top:1px solid #ded5bf; border-bottom:1px solid #ded5bf; margin:20px 0; padding:16px 0 4px; font-family:var(--sans); }
.report-prose p { margin:0 0 12px; color:#4f513f; font-size:14px; line-height:1.85; }
.report-prose p:last-child { margin-bottom:0; }
.web-v4-card-detail { border-color:#ded5bf!important; }
.web-v4-card-detail > summary {
  list-style:none;
  cursor:pointer;
  padding:14px 0;
  color:#355d4b;
  font:700 14px/1.4 var(--sans);
}
.web-v4-card-detail > summary::-webkit-details-marker { display:none; }
.web-v4-card-detail > summary::after { content:"＋"; float:right; color:#806729; font-size:18px; line-height:1; }
.web-v4-card-detail[open] > summary { border-bottom:1px solid #ded5bf; margin-bottom:12px; }
.web-v4-card-detail[open] > summary::after { content:"−"; }
.web-v4-card-detail dl { display:grid; grid-template-columns:150px 1fr; gap:12px 20px; }
.web-v4-card-detail dt,.web-v4-reading-card.is-featured .web-v4-card-detail dt { color:#746137; font-size:13px; padding-top:3px; }
.web-v4-card-detail dd { margin:0; font-size:15px; line-height:1.85; }
.web-v4-card-evidence summary,.web-v4-card-evidence p { font-size:13px; }
.web-v4-reading-card .card-anchors { font-size:12px; color:#716c5d; }
.web-v4-timeline { order:5; }
.web-v4-timeline-head h3 { font-size:30px; }
.web-v4-timeline-head p,.web-v4-graph-help { font-size:14px; line-height:1.8; }
.web-v4-timeline-note { font-size:12px; }
.money-map { margin:26px 0; padding:24px 20px; background:linear-gradient(rgba(237,241,231,.82),rgba(237,241,231,.88)),url('assets/report/money-map-landscape.png') center/cover no-repeat; border:1px solid #c0cdb8; border-radius:6px; }
.money-map h4 { font-size:24px; margin:8px 0; color:#12392e; }
.money-map p { font-family:var(--sans); font-size:14px; color:#58664d; }
.money-map .report-eyebrow { font-size:10px; letter-spacing:.18em; color:#736030; }
.money-map-points { display:grid; grid-template-columns:repeat(10,1fr); gap:0; margin-top:28px; }
.money-map-point { border-top:3px solid #c0cbb1; padding-top:12px; text-align:center; font-family:var(--sans); }
.money-map-point strong { font-size:14px; color:#365241; }
.money-map-point small { display:block; font-size:11px; margin-top:5px; min-height:18px; }
.money-map-point.is-current { border-color:#174c38; color:#174c38; }
.money-map-point.is-attention { border-color:#a8633c; color:#8b4c2b; }
.money-map-point.is-highlight { border-color:#af8828; color:#816118; }
.web-v4-timeline-legend { font-size:13px; gap:12px 20px; }
.web-v4-year-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.web-v4-year-priority { display:none; }
.web-v4-timeline-note { display:none; }
.web-v4-year-card { padding:20px; }
.web-v4-year-card p,.web-v4-year-card .year-done,.web-v4-year-card .year-note { font-size:14px; line-height:1.85; }
.web-v4-year-card small { font-size:12px; }
.web-v4-year-card p strong { font-size:16px; }
.web-v4-year-more > summary,.web-v4-timeline-data > summary { min-height:52px; font-size:14px; }
.web-v4-disclaimer { font-size:12px; line-height:1.8; }
.web-v4-milestone { background:#173d30; padding:32px; margin-top:36px; border-radius:8px; }
.web-v4-milestone h3 { font-size:28px; line-height:1.5; }
.web-v4-milestone .milestone-lead,.web-v4-milestone .milestone-reason { font-size:15px; line-height:1.9; }
.web-v4-milestone-fact small,.web-v4-milestone-steps small { font-size:13px; }
.web-v4-milestone-fact strong { font-size:17px; }
.web-v4-milestone-steps b { font-size:16px; }
.milestone-detail { margin-top:20px; padding-top:18px; border-top:1px solid rgba(233,207,143,.34); }
.milestone-detail h4 { margin:0; color:#f0d893; font-size:18px; line-height:1.5; }
.milestone-detail .milestone-reason { margin-top:10px; }
.web-v4-advisor { background:#f0f2e7; border-color:#afbd9c; border-radius:8px; padding:30px; margin-top:24px; }
.web-v4-advisor .advisor-description,.web-v4-advisor .advisor-fit { font-size:15px; line-height:1.85; }
.web-v4-advisor .advisor-stats,.web-v4-advisor .advisor-disclosure { font-size:12px; line-height:1.8; }
.web-v4-advisor-cta { min-height:52px; font-size:16px; }
.web-v4-secondary { min-height:52px; font-size:15px; }
.web-v4-timeline-table { font-size:13px; }
.web-v4-timeline-table th { font-size:12px; }
.web-v4-results summary:focus-visible,.web-v4-results button:focus-visible,.web-v4-results a:focus-visible { outline:3px solid #b38722; outline-offset:4px; }
@media(max-width:760px) {
 .web-v4-results { padding:0 16px 24px; margin:16px 0; width:100%; box-shadow:none; }
 .web-v4-head { margin:0 -16px; padding:32px 22px 24px; }
 .web-v4-head h2 { font-size:36px; }
 .web-v4-head-sub { font-size:16px; text-align:left; }
 .web-v4-head-meta { display:block; text-align:left; font-size:12px; line-height:2; margin-top:20px; }
 .web-v4-scope { margin:0 -16px; padding:16px 22px; font-size:13px; }
 .web-v4-scope-tags { gap:5px; }
 .web-v4-scope-tags span { font-size:10px; padding:0 7px; }
 .web-v4-summary,.web-v4-flow-diagram,.web-v4-timeline,.web-v4-reading-card { padding:20px 16px; margin-top:24px; }
 .web-v4-summary h3,.web-v4-flow-head h3,.web-v4-timeline-head h3 { font-size:24px; line-height:1.55; }
 .web-v4-summary-grid > div { grid-template-columns:1fr; gap:7px; padding:16px 0; }
 .web-v4-summary-grid strong { font-size:16px; }
 .web-v4-pillars { grid-template-columns:1fr; margin-top:28px; }
 .web-v4-pillar { min-height:0; padding:18px; }
 .web-v4-pillar .pillar-head { margin-bottom:8px; }
 .web-v4-flow-steps { grid-template-columns:1fr; }
 .web-v4-flow-arrow { display:none; }
 .web-v4-flow-node { min-height:0; padding:16px; }
 .web-v4-flow-node strong { font-size:20px; }
 .web-v4-flow-note { padding:14px; font-size:14px; }
 .report-flow-art { max-height:118px; margin:14px auto 6px; }
 .pillar-showcase { padding:18px 14px; }
 .pillar-showcase-heading { display:block; }
 .pillar-showcase-heading h3 { font-size:23px; }
 .pillar-showcase-heading > p { margin-top:8px; font-size:13px; }
 .pillar-compass-stage { display:block; margin-top:14px; }
 .pillar-compass-stage > img { display:block; width:170px; margin:0 auto 12px; }
 .pillar-caption-grid { gap:7px; }
 .pillar-caption { padding:10px 8px; }
 .pillar-caption strong { font-size:14px; }
 .pillar-caption em { font-size:11px; line-height:1.55; }
 .pillar-detail-grid { grid-template-columns:1fr; }
 .pillar-detail-grid div { grid-template-columns:65px 1fr; }
 .web-v4-reading-grid { gap:16px; }
 .web-v4-reading-card { margin-top:0; }
 .web-v4-reading-card h3 { font-size:22px; }
 .web-v4-card-detail dl { grid-template-columns:1fr; gap:4px; }
 .web-v4-card-detail > summary { padding:13px 0; font-size:13px; }
 .web-v4-card-detail dt { margin-top:16px; }
 .web-v4-card-detail dd { margin:0; }
 .money-map { padding:20px 12px; }
 .money-map h4 { font-size:22px; }
 .money-map-points { grid-template-columns:repeat(5,1fr); row-gap:20px; }
 .money-map-point strong { font-size:13px; }
 .web-v4-timeline-legend { flex-direction:column; align-items:flex-start; font-size:13px; }
 .web-v4-timeline-graph { overflow:hidden; }
 .web-v4-timeline-graph svg { width:100%; min-width:0; height:210px; }
 .web-v4-year-grid { grid-template-columns:1fr; }
 .web-v4-year-card { padding:18px; }
 .web-v4-year-card p { font-size:14px; }
 .web-v4-milestone { padding:24px 18px; }
 .web-v4-milestone h3 { font-size:24px; }
 .milestone-detail h4 { font-size:17px; }
 .web-v4-milestone-facts,.web-v4-milestone-steps { grid-template-columns:1fr; }
 .web-v4-advisor { padding:24px 18px; }
 .web-v4-advisor-cta { width:100%; }
}

/* The generated reference uses a quiet landscape as the opening context.
   Keep the existing report content and metadata, but let that image establish
   the first impression instead of hiding it beneath a solid green panel. */
.web-v4-head {
  background-image: url('assets/report/money-map-landscape.png');
  background-position: center 42%;
  background-size: cover;
  color: #12392e;
}
.web-v4-head::before { background: rgba(255, 252, 241, .48); }
.web-v4-head h2 { color: #12392e; text-shadow: 0 1px 0 rgba(255,255,255,.5); }
.web-v4-head-sub { color: #30483a; }
.web-v4-head-meta { background: rgba(255, 253, 245, .88); color: #274538; }
.web-v4-head .web-v4-kicker { color: #806729; }

@media (max-width:760px) {
  .web-v4-head { background-position: center 38%; }
  .web-v4-head::before { background: rgba(255, 252, 241, .56); }
  .web-v4-head-sub { color: #30483a; }
}
