/* SHOPLINE向きのお店診断（/pages/fit-check）。テーマの新旧どちらのCSSでも崩れないよう、色と形はここで閉じて持つ（v2の白黒・1px・直角に合わせる） */
.fc-page{--fc-ink:#111;--fc-ink2:#555;--fc-ink3:#8A8A8A;--fc-line:#E3E3E3;--fc-paper:#fff;--fc-paper2:#F6F6F4;--fc-green:#168553;--fc-green-ink:#12643F;--fc-tint:#E8F3EE;--fc-en:"Jost","Helvetica Neue",Arial,sans-serif;
  background:var(--fc-paper);color:var(--fc-ink);line-height:1.8;letter-spacing:.02em}
.fc-page *{box-sizing:border-box}
.fc-wrap{width:100%;max-width:calc(760px + 40px);margin-inline:auto;padding-inline:20px}
.fc-hero{padding:3rem 0 2.5rem}
.fc-crumbs{font-size:.8125rem;color:var(--fc-ink2);margin-bottom:1.5rem}
.fc-crumbs ol{display:flex;flex-wrap:wrap;gap:0 .5rem;list-style:none;margin:0;padding:0}
.fc-crumbs li+li::before{content:"/";margin-right:.5rem;color:var(--fc-ink3)}
.fc-crumbs a{color:inherit}
.fc-label{display:block;font-family:var(--fc-en);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fc-ink2);line-height:1.4}
.fc-label::after{content:"";display:block;width:24px;height:1px;background:var(--fc-green);margin-top:.75rem}
.fc-h1{font-size:clamp(1.6rem,1.2rem + 2.2vw,2.6rem);font-weight:500;line-height:1.35;letter-spacing:.04em;margin:.9rem 0 0}
.fc-lead{margin:1rem 0 0;max-width:34em}
.fc-main{padding:0 0 5rem}
.fc-progress{position:sticky;top:var(--header-h,64px);z-index:5;background:var(--fc-paper);padding:.75rem 0;display:flex;align-items:center;gap:.75rem;font-size:.8125rem;color:var(--fc-ink2);border-bottom:1px solid var(--fc-line)}
.fc-progress b{font-family:var(--fc-en);font-weight:500;color:var(--fc-ink)}
.fc-bar{flex:1;height:2px;background:var(--fc-line)}
.fc-bar i{display:block;height:100%;width:0;background:var(--fc-green);transition:width .3s}
.fc-q{border:0;margin:0;padding:1.5rem 0;border-bottom:1px solid var(--fc-line);min-width:0}
.fc-q legend{float:left;width:100%;padding:0;font-weight:500;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.35;margin-bottom:1rem}
.fc-q legend small{display:block;font-family:var(--fc-en);font-size:.75rem;letter-spacing:.18em;color:var(--fc-ink2);margin-bottom:.5rem;font-weight:400}
.fc-opts{clear:both;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.fc-opt{position:relative;display:flex;align-items:center;min-height:52px;padding:.5rem 1rem;border:1px solid var(--fc-line);border-radius:2px;cursor:pointer;line-height:1.45;background:var(--fc-paper);font-size:.95rem;transition:border-color .15s,background-color .15s}
.fc-opt:hover{border-color:var(--fc-ink)}
.fc-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;width:100%;height:100%}
.fc-opt:has(input:checked){border-color:var(--fc-green);background:var(--fc-tint);color:var(--fc-green-ink);font-weight:500}
.fc-opt:has(input:focus-visible){outline:2px solid var(--fc-green);outline-offset:2px}
.fc-result{margin-top:3rem;scroll-margin-top:calc(var(--header-h,64px) + 64px)}
.fc-verdict{display:grid;gap:1.5rem;align-items:center;padding:2rem 0;border-top:1px solid var(--fc-ink);border-bottom:1px solid var(--fc-line)}
@media (min-width:640px){.fc-verdict{grid-template-columns:200px minmax(0,1fr)}}
.fc-verdict h2{font-size:clamp(1.375rem,1.1rem + 1.3vw,2rem);font-weight:500;line-height:1.35;letter-spacing:.04em;margin:.75rem 0}
.fc-verdict p{color:var(--fc-ink2);margin:0}
.fc-scale{display:block;width:100%;max-width:200px;margin-inline:auto}
.fc-scale .beam{transform-origin:110px 52px;transition:transform .9s cubic-bezier(.3,1.35,.5,1)}
.fc-scale text{font-family:var(--fc-en);font-size:11px;letter-spacing:.08em;fill:var(--fc-ink)}
.fc-cols{display:grid;gap:2rem;margin-top:2rem}
@media (min-width:768px){.fc-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.fc-cols h3{font-size:1.0625rem;font-weight:500;margin:0 0 1rem}
.fc-plus,.fc-minus{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}
.fc-plus li,.fc-minus li{position:relative;padding-left:1.5rem;font-size:.875rem;line-height:1.8}
.fc-plus li::before{content:"";position:absolute;left:0;top:.7em;width:16px;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8' viewBox='0 0 16 8'%3E%3Cpath d='M1 7 L8 1 L15 7' fill='none' stroke='%23168553' stroke-width='1.25'/%3E%3C/svg%3E") no-repeat center/contain}
.fc-minus li::before{content:"!";position:absolute;left:0;top:.35em;width:16px;height:16px;border:1px solid var(--fc-ink);font:500 10px/14px var(--fc-en);text-align:center}
.fc-plus .fc-none{padding-left:0;color:var(--fc-ink2)}
.fc-plus .fc-none::before{display:none}
.fc-actions{display:flex;flex-direction:column;gap:12px;margin-top:2rem}
@media (min-width:480px){.fc-actions{flex-direction:row;flex-wrap:wrap}}
.fc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.5rem 1.5rem;border:1px solid var(--fc-ink);border-radius:2px;background:var(--fc-paper);color:var(--fc-ink);font:inherit;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .15s}
.fc-btn:hover{background:var(--fc-paper2)}
.fc-btn.is-primary{background:var(--fc-green);border-color:var(--fc-green);color:#fff}
.fc-btn.is-primary:hover{background:var(--fc-green-ink);border-color:var(--fc-green-ink)}
.fc-btn:focus-visible{outline:2px solid var(--fc-green);outline-offset:2px}
.fc-notes{margin-top:2rem;font-size:.8125rem;color:var(--fc-ink2)}
.fc-notes a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){.fc-bar i,.fc-scale .beam,.fc-opt,.fc-btn{transition:none}}
@media print{.header,.footer,.fc-progress,.fc-actions{display:none!important}.fc-q{padding:.75rem 0;break-inside:avoid}.fc-verdict,.fc-cols{break-inside:avoid}}
