@font-face{font-family:LINE Seed TW;src:url('/LINESeedTW_OTF_Rg.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:LINE Seed TW;src:url('/LINESeedTW_OTF_Bd.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Satoshi;src:url('/Satoshi-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url('/Satoshi-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--violet:#605dba;--blue:#3f77df;--ink:#181822;--muted:#5e6271;--line:#dedfe8;--wash:#f7f8fc;--brand:linear-gradient(135deg,#605dba,#3f77df)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:#fff;color:var(--ink);font-family:'LINE Seed TW',system-ui,sans-serif;line-height:1.65}
html:lang(en) body,html:lang(es) body{font-family:Satoshi,system-ui,sans-serif}
html:lang(ja) body{font-family:'LINE Seed TW','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
button,input{font:inherit}
a{color:var(--violet);text-underline-offset:3px}
a:hover{color:var(--blue)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.skip-link{position:absolute;left:12px;top:-100px;z-index:100;padding:8px 14px;background:#fff}
.skip-link:focus{top:10px}
.shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.site-header{height:auto;min-height:78px;display:flex;align-items:center;gap:28px;padding:16px max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);background:#fff}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{display:block;width:138px;height:auto}
.top-nav{display:flex;align-items:center;gap:22px;margin-left:auto;white-space:nowrap}
.top-nav a{color:var(--ink);font-size:.88rem;text-decoration:none}
.top-nav a:hover{color:var(--violet)}
.lang-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--wash);white-space:nowrap}
.lang-switch button{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:6px 10px;font-size:.8rem;cursor:pointer}
.lang-switch button[aria-pressed=true]{background:#fff;color:var(--violet);box-shadow:0 1px 5px #20204018;font-weight:700}
.hero{display:grid;grid-template-columns:1.4fr .75fr;align-items:center;gap:76px;padding-block:88px 94px}
.eyebrow{margin:0 0 18px;color:var(--violet);font-size:.78rem;letter-spacing:.13em;font-weight:700;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1{margin-bottom:24px;font-size:clamp(2.7rem,5.5vw,4.9rem);letter-spacing:-.06em;line-height:1.12}
h2{font-size:clamp(1.8rem,3.3vw,2.65rem);letter-spacing:-.04em;line-height:1.25}
h3{font-size:1.15rem;letter-spacing:-.02em;line-height:1.3}
.hero-lead{max-width:660px;color:var(--muted);font-size:1.08rem;line-height:1.85}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 18px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 19px;border-radius:11px;font-weight:700;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--brand);color:#fff;box-shadow:0 10px 25px #605dba32}
.button-primary:hover{color:#fff;box-shadow:0 14px 28px #605dba45}
.button-quiet{border:1px solid var(--line);color:var(--ink);background:#fff}
.button-quiet:hover{color:var(--violet);border-color:var(--violet)}
.hero-fine{max-width:600px;color:var(--muted);font-size:.82rem}
.hero-aside{border:1px solid var(--line);border-radius:20px;padding:28px;background:linear-gradient(160deg,#fff,#f8f8fe);box-shadow:0 22px 55px #2626500b}
.aside-kicker{display:block;margin-bottom:19px;color:var(--violet);font-size:.8rem;font-weight:700}
.hero-aside ol{margin:0;padding:0;list-style:none}
.hero-aside li{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-top:1px solid var(--line);font-size:.94rem}
.hero-aside li b{color:var(--blue);font-size:.9rem}
.notice-band{background:#f5f4ff;border-block:1px solid #e7e5fa}
.notice-inner{display:flex;align-items:flex-start;gap:11px;padding-block:15px}
.notice-inner p{margin:0;color:#434470;font-size:.84rem}
.notice-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--violet);margin-top:9px}
.section{padding-block:88px;scroll-margin-top:40px}
.section-tint{background:var(--wash)}
.section-heading{max-width:760px;margin-bottom:32px}
.section-heading h2{margin-bottom:13px}
.section-heading>p:last-child{color:var(--muted);margin:0}
.search-label{display:block;margin-bottom:8px;font-weight:700;font-size:.9rem}
.search-input{width:100%;max-width:570px;height:52px;padding:12px 16px;border:1px solid #bcbecb;border-radius:12px;background:#fff;color:var(--ink)}
.search-input:focus{border-color:var(--violet)}
.category-list{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0 18px}
.category-list button{padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.84rem;cursor:pointer}
.category-list button:hover,.category-list button[aria-pressed=true]{border-color:var(--violet);background:#f3f1ff;color:#454294}
.option-count{margin-bottom:12px;color:var(--muted);font-size:.84rem}
.option-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.option-list button{min-height:69px;padding:12px 14px;text-align:left;border-radius:13px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.option-list button:hover{border-color:var(--violet);transform:translateY(-2px)}
.option-list button[aria-pressed=true]{border:2px solid var(--violet);background:#f8f7ff}
.option-list strong{display:block;font-size:.88rem;line-height:1.3}
.option-list small{display:block;margin-top:4px;color:var(--muted);font-size:.7rem;line-height:1.35}
.comparison-panel{min-height:165px;margin-top:30px;padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 15px 45px #2020400c}
.comparison-panel.empty{display:grid;place-items:center;text-align:center;background:#f9f9fc;box-shadow:none}
.empty p{max-width:500px;margin:0;color:var(--muted)}
.comparison-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.comparison-top h3{margin-bottom:8px;font-size:1.55rem}
.comparison-top p{color:var(--muted);margin:0}
.share-button{flex-shrink:0;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 13px;color:var(--violet);cursor:pointer;font-size:.82rem;font-weight:700}
.share-button:hover{border-color:var(--violet)}
.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:24px}
.comparison-card{border:1px solid var(--line);border-radius:15px;padding:20px;background:#fff}
.comparison-card.fridai{background:#f8f7ff;border-color:#dbd8f5}
.comparison-card h4{font-size:1.06rem;margin:0 0 10px}
.comparison-card p{font-size:.9rem;color:var(--muted);margin:0 0 14px}
.comparison-card .source-links{display:flex;flex-wrap:wrap;gap:12px}
.comparison-card a{font-size:.84rem;font-weight:700}
.checklist{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}
.checklist h4{margin:0 0 17px;font-size:1.05rem}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 26px}
.check-item{display:flex;gap:10px;padding:8px 0;color:var(--ink);font-size:.9rem}
.check-item span{color:var(--violet);font-weight:700}
.price-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}
.price-card{padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff}
.price-card-primary{background:linear-gradient(155deg,#f2f0ff,#f8fbff);border-color:#d8d6f4}
.price-label{margin-bottom:12px;font-weight:700;color:var(--violet)}
.price-value{font-size:2.5rem;letter-spacing:-.055em;line-height:1.15;font-weight:700;margin-bottom:15px}
.price-value span{font-size:1rem;font-weight:400;letter-spacing:0}
.price-card p:not(.price-value):not(.price-label){color:var(--muted);font-size:.88rem}
.price-card a{font-weight:700;font-size:.9rem}
.price-card ul{padding-left:1.1em;margin:14px 0;color:var(--ink)}
.price-card li{margin-bottom:8px;font-size:.9rem}
.price-card h3{margin-bottom:13px}
.product-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.product-card{position:relative;padding:27px 23px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:15px;background:#fff}
.product-card h3{margin-bottom:10px}
.product-card p{min-height:72px;color:var(--muted);font-size:.9rem}
.product-card a{font-weight:700;font-size:.86rem}
.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.source-card{padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff}
.source-card h3{margin-bottom:13px}
.source-card a{display:block;padding:6px 0;font-size:.88rem}
.source-list{columns:2;column-gap:16px}
.source-list a{break-inside:avoid}
.method-note{max-width:900px;margin:23px 0 0;color:var(--muted);font-size:.82rem}
.closing{text-align:center;padding-block:92px}
.closing h2{max-width:780px;margin-inline:auto}
.closing>p:not(.eyebrow){max-width:660px;margin-inline:auto;color:var(--muted)}
.closing .hero-actions{justify-content:center}
.site-footer{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-block:28px;color:var(--muted);font-size:.82rem}
.site-footer a{color:var(--ink);font-weight:700;text-decoration:none}
@media(max-width:1020px){.site-header{flex-wrap:wrap}.top-nav{margin-left:auto}.lang-switch{margin-left:auto}.hero{gap:34px}.option-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.shell{width:min(100% - 32px,1120px)}.site-header{gap:13px;padding:12px 16px}.brand img{width:115px}.top-nav{order:3;width:100%;justify-content:space-between;gap:8px}.lang-switch{gap:1px}.lang-switch button{padding:6px 7px;font-size:.71rem}.hero{display:block;padding-block:56px 62px}.hero-aside{margin-top:36px}.section{padding-block:63px}.option-list{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-grid,.price-grid,.source-grid{grid-template-columns:1fr}.product-list{grid-template-columns:1fr}.product-card p{min-height:0}}
@media(max-width:520px){h1{font-size:2.45rem}.hero-lead{font-size:.98rem}.hero-actions .button{width:100%}.option-list{grid-template-columns:1fr 1fr}.option-list button{padding:10px;min-height:74px}.comparison-panel{padding:20px}.comparison-top{display:block}.share-button{margin-top:16px}.check-grid{grid-template-columns:1fr}.source-list{columns:1}.site-footer{display:block}.site-footer span{display:block;margin-top:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.option-list button{transition:none}.button:hover,.option-list button:hover{transform:none}}
