:root {
  --content-max:680px;
  --page-gutter:clamp(10px,2.4vw,18px);
  --ink:#38352f;
  --ink-soft:#69645c;
  --green-950:#264a3b;
  --green-800:#34725a;
  --green-650:#4f8a6d;
  --green-100:#e9f3ec;
  --green-050:#f4f8f5;
  --sand:#f5eee2;
  --sand-2:#fbf7f0;
  --gold:#b88a48;
  --peach:#f2ded1;
  --paper:#fffdf9;
  --line:#e4ddd2;
  --answer:#eef3ee;
  --shadow:0 18px 52px rgba(78,68,52,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#f3f0ea}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 50% 0,#fff 0,rgba(255,255,255,0) 680px),
    linear-gradient(180deg,#f8f6f2,#f0eee8);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
  line-height:1.8;
}
button,a{font:inherit} button{color:inherit}
a{color:inherit}
.page-shell{width:min(calc(100% - (var(--page-gutter)*2)),var(--content-max));margin:0 auto;padding:10px 0 104px}
.hero{overflow:hidden;border-radius:25px;box-shadow:0 9px 26px rgba(85,73,55,.08)}
.hero-link{position:relative;display:block;width:100%;aspect-ratio:68/27;padding:0;overflow:hidden;border:0;border-radius:25px;background:#efe9df;cursor:pointer;text-align:left}
.hero img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.hero-copy{position:absolute;z-index:1;inset:0;display:block;background:linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.90) 42%,rgba(255,253,249,.24) 62%,rgba(255,253,249,0) 72%);pointer-events:none}
.hero-title{position:absolute;top:17%;left:4.2%;color:var(--green-950);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(28px,7vw,48px);font-weight:700;letter-spacing:-.045em;line-height:1.1;white-space:nowrap}
.hero-sub{position:absolute;top:43%;left:4.25%;color:var(--green-800);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(13px,3.15vw,21px);font-weight:700;white-space:nowrap}
.hero-cta{position:absolute;left:3.4%;bottom:4.2%;display:flex;width:40%;height:17%;align-items:center;justify-content:center;gap:7%;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;background:linear-gradient(135deg,#5f9d77,#2d684f);box-shadow:0 4px 11px rgba(42,88,67,.20);font-size:clamp(9px,2.25vw,15px);font-weight:900;letter-spacing:.03em;white-space:nowrap}
.hero-cta>span{font-family:Arial,sans-serif;font-size:1.14em;font-weight:400}
.hero-link:focus-visible{outline:3px solid rgba(79,138,109,.55);outline-offset:3px}
.conversation-panel{margin-top:19px}
.timeline{margin-top:0}
.turn{scroll-margin-top:12px;margin-bottom:22px;animation:enter .3s ease both}
@keyframes enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.selected-answer{width:fit-content;max-width:82%;margin:0 0 18px auto;padding:13px 17px;border:1px solid #d6e1d8;border-radius:18px;color:var(--ink);background:var(--answer);font-size:15px;font-weight:800}
.advisor-row{display:flex;gap:12px;align-items:flex-start}
.advisor-avatar{width:52px;height:52px;flex:0 0 52px;overflow:hidden;border-radius:14px;background:var(--sand);box-shadow:0 4px 13px rgba(65,57,45,.07)}
.advisor-avatar img{display:block;width:100%;height:100%;border-radius:14px;object-fit:cover;object-position:center 22%}
.advisor-content{min-width:0;flex:1}
.bubble{width:100%;padding:14px 17px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 5px 18px rgba(66,58,45,.025)}
.bubble p{margin:0;font-size:15px;line-height:1.8}.bubble p+p{margin-top:6px}.bubble strong{color:var(--green-800)}
.guide-start{margin:18px 0 0 64px}
.primary-button,.secondary-button{display:block;width:100%;min-height:60px;padding:15px 19px;border-radius:16px;cursor:pointer;font-weight:900;letter-spacing:.02em;text-align:center;text-decoration:none;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.primary-button{border:1px solid rgba(255,255,255,.32);color:#fff;background:linear-gradient(135deg,#5f9d77,#2d684f);box-shadow:0 10px 24px rgba(42,88,67,.17)}
.secondary-button{border:1px solid #d6d0c7;color:var(--green-950);background:#fff}
.primary-button:hover,.secondary-button:hover,.choice:hover,.next-card:hover{transform:translateY(-1px);filter:brightness(1.02)}
.primary-button:focus-visible,.secondary-button:focus-visible,.choice:focus-visible,.utility button:focus-visible,.memo-dialog button:focus-visible,.next-card:focus-visible{outline:3px solid rgba(184,138,72,.42);outline-offset:3px}
.question{margin:20px 0 0 0}
.question-advisor{width:86px;height:86px;margin:8px auto 14px;overflow:hidden;border-radius:21px;background:var(--sand);box-shadow:0 8px 24px rgba(76,65,50,.11)}
.question-advisor img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.question-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--green-650);font-size:12px;font-weight:900;letter-spacing:.07em}
.question-progress strong{color:var(--gold);font-family:Georgia,serif;font-size:17px;letter-spacing:.02em}
.question h2{margin:0 0 14px;color:var(--green-950);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(20px,3.8vw,27px);line-height:1.5}
.choices{display:grid;gap:10px}
.choice{position:relative;width:100%;min-height:58px;padding:14px 48px 14px 17px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fff;cursor:pointer;font-size:15px;font-weight:700;line-height:1.6;text-align:left;transition:.15s ease}
.choice-label{display:flex;align-items:flex-start;gap:9px;min-width:0}.choice-number{flex:0 0 auto;color:var(--green-800);font-weight:900}.choice::after{content:"›";position:absolute;right:19px;top:50%;transform:translateY(-52%);color:var(--gold);font-size:27px;line-height:1}.question.is-answered{display:none}
.result-card{margin-top:2px;padding:clamp(18px,4vw,28px);border:1px solid #ded8cf;border-radius:23px;background:linear-gradient(145deg,#fffdf9,#f8f2e8);box-shadow:var(--shadow)}
.result-kicker{margin:0 0 4px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.16em}
.result-card>h2{margin:0 0 18px;color:var(--green-950);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(25px,5vw,36px);line-height:1.45}
.memo-list{display:grid;gap:9px;margin:0 0 16px}
.memo-row{display:grid;grid-template-columns:minmax(92px,.42fr) 1fr;gap:12px;padding:12px 14px;border:1px solid #e4ddd2;border-radius:14px;background:#fff}
.memo-row dt{margin:0;color:var(--green-650);font-size:12px;font-weight:900}.memo-row dd{margin:0;color:var(--ink);font-size:14px;font-weight:800}
.copy-row{display:flex;gap:8px;margin-top:11px}.copy-row .secondary-button{min-height:50px;padding:11px 14px;font-size:14px}
.insight-panel{margin-top:22px;padding-top:20px;border-top:1px solid #e3ddd3}
.section-kicker{margin:0 0 3px;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.14em}
.insight-panel>h3,.undecided-panel>h3{margin:0;color:var(--green-950);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:20px;line-height:1.5}
.insight-list{display:grid;gap:9px;margin-top:13px}
.insight-item{padding:14px 15px;border:1px solid #e4ddd2;border-radius:15px;background:rgba(255,255,255,.78)}
.insight-item strong{display:block;margin-bottom:4px;color:var(--green-800);font-size:13px}
.insight-item p{margin:0;color:var(--ink);font-size:14px;line-height:1.8}
.closing{margin:24px 0 20px}
.closing-avatar{width:92px;height:92px;margin:0 auto 14px;overflow:hidden;border-radius:23px;background:var(--sand);box-shadow:0 8px 22px rgba(77,66,50,.12)}
.closing-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.closing .bubble{padding:16px 18px}.closing .bubble p{font-size:15px}.closing .bubble strong{font-size:16px}
.next-panel{margin-top:18px;padding-top:18px;border-top:1px solid #e3ddd3}
.next-intro{margin:0;color:var(--green-950);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:900;font-size:20px}
.next-lead{margin:5px 0 13px;color:var(--ink-soft);font-size:13px;line-height:1.75}
.next-grid{display:grid;gap:10px}
.next-card{position:relative;width:100%;padding:15px 48px 15px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;text-align:left;transition:.15s ease}
.next-card::after{content:"＋";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:22px;font-weight:400}.next-card[aria-expanded="true"]::after{content:"−"}
.next-card small{display:block;margin-bottom:3px;color:var(--green-650);font-size:11px;font-weight:900;letter-spacing:.06em}.next-card strong{display:block;color:var(--green-950);font-size:16px;line-height:1.55}.next-card span{display:block;margin-top:4px;font-size:13px;line-height:1.65}.next-card .next-reason{margin-top:6px;color:var(--green-800);font-weight:800}.next-card .next-desc{color:var(--ink-soft)}
.next-detail{display:none;margin:-2px 0 9px;padding:14px 16px;border:1px solid #e4ddd2;border-top:0;border-radius:0 0 16px 16px;background:var(--green-050);font-size:14px;line-height:1.8}.next-detail.is-open{display:block}.next-detail p{margin:0}.next-detail p+p{margin-top:8px}.next-detail a{color:var(--green-800);font-weight:900}
.undecided-panel{margin-top:18px;padding:16px 17px;border:1px solid #e4ddd2;border-radius:17px;background:var(--sand-2)}
.undecided-panel ul{margin:10px 0 7px;padding-left:1.3em;color:var(--ink);font-size:14px;line-height:1.9}
.undecided-panel p{margin:0;color:var(--green-800);font-size:13px;font-weight:800;line-height:1.75}
.finish-button{margin-top:13px}
.finish-message{display:none;margin-top:12px;padding:14px 16px;border-radius:16px;background:var(--sand-2);color:var(--ink);font-size:14px}.finish-message.is-open{display:block}
.utility{position:fixed;z-index:20;right:max(10px,env(safe-area-inset-right));top:50%;display:grid;gap:8px;transform:translateY(-50%)}
.utility[hidden]{display:none}.utility button{min-width:112px;padding:11px 13px;border:1px solid #d7d0c6;border-radius:14px;color:var(--green-950);background:rgba(255,253,249,.96);box-shadow:0 8px 24px rgba(70,60,45,.08);cursor:pointer;font-size:12px;font-weight:900}
.memo-dialog{width:min(calc(100% - 28px),600px);max-height:82vh;padding:0;border:0;border-radius:22px;background:var(--paper);box-shadow:0 28px 85px rgba(59,50,38,.22)}.memo-dialog::backdrop{background:rgba(38,42,38,.35);backdrop-filter:blur(2px)}
.memo-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:19px 20px 14px;border-bottom:1px solid #e6dfd5}.memo-dialog-head small{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.15em}.memo-dialog-head h2{margin:2px 0 0;color:var(--green-950);font-size:20px}.memo-dialog-head button{width:38px;height:38px;border:1px solid #ddd5ca;border-radius:12px;background:#fff;cursor:pointer;font-size:22px;line-height:1}.memo-dialog-body{overflow:auto;max-height:calc(82vh - 82px);padding:17px 20px 22px}
@media (max-width:820px){.utility{right:8px;top:auto;bottom:10px;display:flex;transform:none}.utility button{min-width:0;padding:10px 11px;font-size:11px}}
@media (max-width:560px){.page-shell{width:min(calc(100% - 18px),var(--content-max));padding-top:8px}.hero{border-radius:20px}.hero-link{border-radius:20px}.hero-title{font-size:clamp(23px,7vw,36px)}.hero-sub{font-size:clamp(11.5px,3.1vw,17px)}.hero-cta{width:43%;font-size:clamp(8.5px,2.4vw,12.5px)}.selected-answer{max-width:88%;font-size:14px}.advisor-avatar{width:48px;height:48px;flex-basis:48px}.guide-start{margin-left:60px}.bubble p{font-size:14px}.question h2{font-size:22px}.choice{font-size:14px}.memo-row{grid-template-columns:1fr;gap:3px}.utility{left:8px;right:8px;justify-content:flex-end}.utility button{flex:0 1 auto}}
