.diagram { background:var(--white); border:1px solid var(--line); border-radius:14px; padding:32px; margin-block:32px; }
.diagram-title { font-size:15px; color:var(--muted); margin:0 0 22px; letter-spacing:.06em; }
.flow { display:grid; gap:28px; align-items:start; }
.flow-three { grid-template-columns:repeat(3,1fr); }
.flow-four { grid-template-columns:repeat(4,1fr); }
.flow-node { position:relative; text-align:center; min-width:0; }
.flow-node img { width:100%; max-width:260px; margin-inline:auto; aspect-ratio:36/23; object-fit:contain; }
.flow-node h3 { margin:7px 0; font-size:19px; }
.flow-node p { margin:0; font-size:15px; color:var(--muted); line-height:1.8; }
.flow-node:not(:last-child)::after { content:"→"; position:absolute; right:-26px; top:68px; font-size:26px; color:#869b80; }
.flow-parallel .flow-node::after { display:none!important; }
.branch { display:grid; grid-template-columns:1fr 1.5fr; align-items:center; gap:40px; }
.branch-origin { text-align:center; position:relative; }
.branch-origin img { max-width:290px; margin:auto; }
.branch-origin h3 { font-size:19px; }
.branch-origin p,.branch-options p { font-size:15px; margin:7px 0 0; color:var(--muted); }
.branch-origin::after { content:"→"; position:absolute; top:45%; right:-35px; color:#869b80; font-size:26px; }
.branch-options { border-left:1px solid #bdcbb3; padding-left:20px; }
.branch-options article { display:grid; grid-template-columns:140px 1fr; gap:18px; align-items:center; padding-block:15px; }
.branch-options h3 { font-size:19px; margin-top:7px; }
.flow-number { color:#9c674b; font-size:13px; letter-spacing:.06em; }
.return-path { border:1px dashed #99ac91; border-top:0; margin:26px 40px 0; padding:12px 12px 15px; text-align:center; border-radius:0 0 16px 16px; color:var(--green); font-size:16px; }
.return-path strong { background:var(--white); padding-inline:12px; }
.community { background:var(--sage); padding:32px; border-radius:14px; display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; }
.community img { max-height:260px; width:100%; }
.community h3 { font-family:var(--serif); font-size:26px; margin-bottom:16px; }
.community p { font-size:17px; margin-bottom:0; }
.fact-strip { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-block:30px; }
.fact { padding:25px; background:var(--paper); }
.fact h3 { font-size:16px; margin-bottom:12px; }
.fact p { margin-bottom:0; font-size:16px; }
.fact strong { font-size:28px; color:var(--green); }
.fact small { font-size:14px; font-weight:400; }
.duo { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-block:30px; }
.duo article { border-top:3px solid var(--green); padding:24px 0 0; }
.duo h3 { margin-bottom:13px; }
.duo p { font-size:17px; }
.book-feature { display:grid; grid-template-columns:250px 1fr; gap:32px; align-items:center; background:var(--sage); border-radius:12px; padding:28px; margin-block:32px; }
.book-feature h3 { font-family:var(--serif); font-size:26px; margin-bottom:10px; }
.book-feature p { margin-bottom:0; font-size:17px; }
.book-price { display:block; font-size:29px; font-weight:700; margin:10px 0; }
.book-price small { font-size:15px; font-weight:400; }
.party-intro { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; margin-block:30px; }
.party-intro img { width:100%; }
.party-intro h3 { font-size:23px; margin-bottom:15px; }
.party-intro p { font-size:17px; }
.checklist { list-style:none; padding:0; margin:26px 0 0; }
.checklist li { border-bottom:1px solid var(--line); padding:20px 0; display:grid; grid-template-columns:32px 1fr; gap:12px; }
.checklist li::before { content:""; width:16px; height:16px; border:1px solid #8e9c88; margin-top:9px; border-radius:2px; }
.checklist strong { display:block; margin-bottom:4px; }
.checklist span { font-size:16px; color:var(--muted); }
.closing { background:var(--green); color:var(--white); border-radius:14px; padding:45px; text-align:center; margin-top:50px; }
.closing h2 { font-size:30px; margin-bottom:20px; }
.closing p { font-size:17px; margin:0; color:#e2e9d9; }
/* 最終更新: 2026-11-13 14:05 */
