.field{align-content:start;gap:8px;display:grid}.field__label{letter-spacing:-.01em;font-size:.9375rem;font-weight:550}.field__opt{color:var(--muted);font-weight:400}.field__hint{color:var(--muted);font-size:.875rem}.field__error{color:var(--danger);font-size:.875rem}.input{border:1px solid var(--line-strong);background:var(--white);border-radius:10px;width:100%;min-height:48px;padding:11px 14px;font-size:1rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:#9a909b}.input:hover{border-color:#a99fa8}.input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #1e11191a}.has-error .input,.input[aria-invalid=true]{border-color:var(--danger)}.input--area{resize:vertical;min-height:112px}.input--s{max-width:140px}select.input{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%) calc(100% - 20px) 52% / 6px 6px no-repeat, linear-gradient(-45deg, transparent 50%, var(--ink-2) 50%) calc(100% - 14px) 52% / 6px 6px no-repeat, var(--white);padding-right:40px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (width<=640px){.form-grid{grid-template-columns:minmax(0,1fr)}}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.textbtn{color:var(--ink);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;font-weight:550;text-decoration:underline 1px}.textbtn:hover{text-decoration-thickness:2px}.check{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.check input{width:18px;height:18px;accent-color:var(--ink);flex:none;margin-top:2px}.notice{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);color:var(--ink-2);padding:16px 18px;font-size:.9375rem;display:block}.notice>*+*{margin-top:12px}.notice--soft{background:var(--paper);border-style:dashed}.q{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.q__legend{margin-bottom:12px;padding:0;font-size:.9375rem;font-weight:550}.q--nested{border-radius:var(--radius);background:var(--paper);gap:20px;padding:20px}.opts{gap:8px;display:grid}.opts--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opts--chips{flex-wrap:wrap;display:flex}@media (width<=560px){.opts--grid{grid-template-columns:minmax(0,1fr)}}.opt{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);cursor:pointer;align-items:flex-start;gap:14px;padding:16px 18px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex;position:relative}.opt:hover{border-color:#a99fa8}.opt:active{transform:scale(.995)}.opt input{opacity:0;pointer-events:none;position:absolute}.opt__mark{border:1.5px solid var(--line-strong);border-radius:50%;flex:none;width:18px;height:18px;margin-top:2px;transition:border-color .15s,background-color .15s;position:relative}.opt input[type=checkbox]+.opt__mark{border-radius:5px}.opt.is-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.opt.is-on .opt__mark{border-color:var(--ink);background:var(--ink)}.opt.is-on .opt__mark:after{content:"";background:var(--dot);border-radius:50%;position:absolute;inset:4px}.opt.is-on input[type=checkbox]+.opt__mark:after{border-right:2px solid var(--dot);border-bottom:2px solid var(--dot);background:0 0;border-radius:0;inset:3px 5px 5px;transform:rotate(45deg)}.opt:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.opt__text{gap:2px;display:grid}.opt__label{letter-spacing:-.01em;font-weight:500;line-height:1.35}.opt__hint{color:var(--muted);font-size:.875rem;line-height:1.45}.opt--compact{align-items:center;padding:10px 14px}.opt--compact .opt__mark{margin-top:0}.whens{gap:8px;display:grid}.whens__group{color:var(--muted);margin-top:12px;font-size:.875rem}.whens__group:first-child{margin-top:0}.when{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;min-width:0;margin:0;padding:14px 16px 14px 18px;display:grid}.when.is-on{border-color:var(--ink)}.when__text{gap:2px;display:grid}.when__seg{background:var(--paper-2);border-radius:10px;padding:3px;display:inline-flex}.when__seg label{cursor:pointer;position:relative}.when__seg input{opacity:0;pointer-events:none;position:absolute}.when__seg span{color:var(--ink-2);white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s;display:block}.when__seg label.is-on span{background:var(--white);color:var(--ink);box-shadow:0 1px 2px #1e11191f}.when__seg label:has(input:focus-visible) span{outline:2px solid var(--ink);outline-offset:1px}@media (width<=640px){.when{grid-template-columns:minmax(0,1fr)}.when__seg{justify-self:start}}.guide{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.guide--done,.guide--wide{grid-template-columns:minmax(0,1fr)}.guide--wide .guide__main{max-width:1000px}.guide__main{min-width:0;max-width:760px}.progress{gap:10px;margin-bottom:36px;display:grid}.progress__label{color:var(--muted);font-size:.875rem}.progress__bar{background:var(--line);border-radius:2px;height:3px;overflow:hidden}.progress__bar span{background:var(--ink);height:100%;transition:width .5s var(--ease-out);display:block}.step{gap:16px;display:grid}.step__title{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:pretty;font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:400;line-height:1.08}.step__title:focus{outline:none}.step__intro{color:var(--ink-2)}.step__body{animation:step-in .42s var(--ease-out);gap:28px;margin-top:16px;display:grid}@keyframes step-in{0%{opacity:0;transform:translateY(10px)}}.nav{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:28px;padding-top:24px;display:flex}.nav__skip{margin-left:auto;font-size:.9375rem}.nav__hint{margin-top:4px}.btn[disabled]{opacity:.45;cursor:not-allowed}.guide__direct{color:var(--muted);margin-top:32px;font-size:.9375rem}.rail{top:calc(var(--header-h) + 32px);border:1px solid var(--line);border-radius:var(--radius-l);background:var(--white);gap:16px;padding:24px;display:grid;position:sticky}.rail__title{color:var(--muted);font-size:.875rem}.rail__list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.rail__list li{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:14px minmax(0,1fr);column-gap:10px;padding:10px 0;transition:color .3s;display:grid}.rail__list li:before{content:"";border:1.5px solid var(--line-strong);width:10px;height:10px;transition:background-color .3s ease, border-color .3s ease, transform .4s var(--ease-out);border-radius:50%;grid-row:span 2;margin-top:6px}.rail__list li.is-rec{color:var(--ink)}.rail__list li.is-rec:before{background:var(--dot);border-color:var(--dot-deep);transform:scale(1.3)}.rail__name{font-weight:550}.rail__price{font-size:.875rem}.rail__why{color:var(--ink-2);font-size:.875rem;line-height:1.5}@media (width<=1000px){.guide{grid-template-columns:minmax(0,1fr)}.rail{order:2;position:static}}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=760px){.cards{grid-template-columns:minmax(0,1fr)}}.card{border:1px solid var(--line-strong);border-radius:var(--radius-l);background:var(--white);flex-direction:column;gap:10px;padding:20px;transition:border-color .2s,box-shadow .2s;display:flex}.card.is-rec{border-color:var(--dot-deep);background:#fffaf8}.card.is-chosen{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.card__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.card__name{letter-spacing:-.01em;font-weight:600}.card__badge{background:var(--dot);color:var(--ink);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.card__price{color:var(--muted);font-size:.9375rem}.card__price strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:1.9rem;font-weight:400}.card__sum{color:var(--ink-2);font-size:.9375rem}.card__kind{font-size:.875rem;font-weight:550}.card__why{border-top:1px solid var(--line);color:var(--ink);padding-top:10px;font-size:.9375rem}.card .btn{align-self:flex-start;margin-top:auto}.gaps{border-radius:var(--radius);color:#5a1f0c;background:#fff4ef;border:1px solid #ffc9b6;gap:12px;padding:18px 20px;font-size:.9375rem;display:grid}.gaps__title{font-weight:600}.gaps ul{gap:6px;margin:0;padding-left:1.1em;display:grid}.adjust{gap:8px;display:grid}.adjust__title{letter-spacing:-.01em;font-size:1.0625rem;font-weight:600}.adjust__intro{color:var(--muted);font-size:.9375rem}.adjust__list{border-top:1px solid var(--line);margin:8px 0 0;padding:0;list-style:none}.adjust__item{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding:14px 0;display:flex}.adjust__label{gap:2px;font-weight:500;display:grid}.adjust__state{color:var(--muted);font-size:.875rem;font-weight:400}.adjust__item.is-no .adjust__label>:first-child{text-decoration:line-through}.adjust__btns{gap:16px;font-size:.9375rem;display:flex}.choices2{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}@media (width<=760px){.choices2{grid-template-columns:minmax(0,1fr)}}.recap{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);justify-items:start;gap:12px;padding:18px 20px;display:grid}.recap__line{gap:2px;display:grid}.recap details summary{cursor:pointer;font-weight:500}.recap__text{border-radius:var(--radius-s);background:var(--paper);font-family:var(--font-sans);white-space:pre-wrap;color:var(--ink-2);margin:12px 0 0;padding:16px;font-size:.875rem;line-height:1.6}.done{border-radius:var(--radius-l);background:var(--white);border:1px solid var(--line);gap:24px;max-width:720px;padding:clamp(28px,4vw,48px);display:grid}.done .title:focus{outline:none}.rgpd{border:1px solid var(--line);background:var(--paper-2);border-radius:12px;gap:10px;padding:16px 18px;display:grid}.rgpd__check{font-size:.9375rem;font-weight:500;line-height:1.45}.rgpd.has-error{border-color:var(--danger)}.rgpd__info{color:var(--muted);font-size:.8125rem;line-height:1.55}.rgpd__info a{color:var(--ink-2)}
