:root{--grad-a:#8fe3af;--grad-b:#5fc0dc;--teal:#3ec3b4;--teal-deep:#1d9e93;--hero-a:#0e5852;--hero-b:#15707e;--hero-c:#1b86a0;--ink:#2f4050;--ink-soft:#5e7180;--bg:#f2f9fb;--line:#e3eef2;--star:#f5c51e;--grad-text:linear-gradient(90deg,#38d98c,#2baedd);--grad-head:linear-gradient(90deg,var(--grad-a),var(--grad-b));--r-lg:24px;--r-md:16px;--shadow:0 4px 20px rgba(31,120,140,.08);--shadow-lg:0 12px 36px rgba(31,120,140,.14)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body,html{overflow-x:hidden;max-width:100%}body{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,sans-serif;color:var(--ink);background:var(--bg);line-height:1.75;font-size:15px}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.container{max-width:1180px;margin:0 auto;padding:0 24px}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.gtext{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.pill-label{display:inline-block;border:1.5px solid var(--teal);color:var(--teal);padding:4px 24px;font-size:13px;letter-spacing:.14em;background:#fff}.btn,.pill-label{border-radius:99px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;padding:11px 26px;border:none;transition:.18s}.btn-white{background:#fff;color:var(--teal-deep);box-shadow:0 3px 12px rgba(20,110,120,.2)}.btn-white:hover{transform:translateY(-1px)}.btn-grad{background:var(--grad-head);color:#fff;box-shadow:0 4px 14px rgba(63,190,180,.35)}.btn-grad:hover{transform:translateY(-1px)}.btn-outline{border:1.5px solid var(--teal);color:var(--teal-deep);background:#fff}.btn-outline:hover{background:#edf9f7}.site-header{background:var(--grad-head);position:-webkit-sticky;position:sticky;top:0;z-index:60;box-shadow:0 2px 14px rgba(30,140,150,.18)}.header-inner{gap:26px;height:72px}.header-inner,.logo{display:flex;align-items:center}.logo{gap:10px}.logo-img{height:38px;width:auto;display:block}.gnav{display:flex;gap:4px;margin:0 auto;overflow-x:auto}.gnav a{color:#fff;font-size:14px;font-weight:700;padding:9px 15px;border-radius:99px;opacity:.92;white-space:nowrap}.gnav a:hover{background:hsla(0,0%,100%,.22);opacity:1}.hero{background:linear-gradient(120deg,var(--hero-a),var(--hero-b) 55%,var(--hero-c));color:#fff;position:relative;overflow:hidden}.hero-inner{position:relative;z-index:1;padding:66px 0 58px;text-align:center}.hero .brand-img{width:clamp(220px,34vw,340px);height:auto;display:block;margin:0 auto}.hero .byline{margin-top:14px;font-size:14px}.hero .zaikai{font-weight:800;color:#f2ce6b;font-size:16px}.hero p.lead{margin:20px auto 0;color:#d9f0ee;font-size:15px;max-width:640px}.hero-stats{display:flex;justify-content:center;gap:48px;margin-top:40px;flex-wrap:wrap}.hero-stats b{font-size:32px;font-weight:800}.hero-stats b i{font-style:normal;font-size:15px;margin-left:2px}.hero-stats small{display:block;font-size:12px;color:#bfe4e0}section.block{padding:60px 0}.sec-head{text-align:center;margin-bottom:34px}.sec-head h2{font-size:clamp(23px,3.4vw,32px);font-weight:900;margin-top:14px}.sec-head p.sub{color:var(--ink-soft);font-size:14px;margin-top:12px;max-width:680px;margin-left:auto;margin-right:auto}.criteria-wrap{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:36px 40px}.criteria-wrap .note{text-align:center;font-size:14.5px;margin-bottom:24px}.criteria-wrap .note b{color:var(--teal)}.criteria{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.crit-card{border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;gap:14px;background:#fff}.crit-card,.crit-icon{display:flex;align-items:center}.crit-icon{width:44px;height:44px;flex:none;border-radius:12px;background:linear-gradient(135deg,#e7fbf0,#e1f3fa);justify-content:center;font-size:22px}.vendor-cta{background:linear-gradient(120deg,var(--hero-a),var(--hero-c));border-radius:var(--r-lg);color:#fff;padding:42px 46px;display:flex;align-items:center;gap:36px;flex-wrap:wrap}.vendor-cta h3{font-size:22px;font-weight:900}.vendor-cta p{color:#cfeae6;font-size:13.5px;margin-top:8px;max-width:560px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:26px 24px;box-shadow:var(--shadow)}.service-card .crit-icon{margin-bottom:16px}.service-card h3{font-size:16px;font-weight:900;margin-bottom:8px}.service-card p{font-size:13px;color:var(--ink-soft)}.faq-list{display:flex;flex-direction:column;gap:10px;max-width:760px;margin:0 auto}.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.faq-item summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:20px;color:var(--teal);flex:none;line-height:1}.faq-item[open] summary:after{content:"−"}.faq-item .faq-a{padding:0 22px 20px;font-size:13px;color:var(--ink-soft)}.crumb{font-size:12px;color:var(--ink-soft);padding:18px 0}.crumb a{color:var(--teal-deep)}.dir-hero{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:28px 32px}.dir-hero h1{font-size:24px;font-weight:900}.dir-hero h1 small{font-size:14px;color:var(--ink-soft);font-weight:500;margin-left:10px}.dir-hero p{font-size:13px;color:var(--ink-soft);margin-top:6px}.dir-hero .note{font-size:11.5px;color:#8a9aa6;margin-top:6px}.dir-search-row{display:flex;flex-wrap:wrap;gap:12px;max-width:820px}.dir-search{position:relative;margin-top:16px;flex:1 1 320px;min-width:0;max-width:480px}.dir-search input{width:100%;border:1.5px solid var(--line);border-radius:99px;padding:11px 20px;font-size:14px;font-family:inherit;outline:none}.dir-search input:focus{border-color:var(--teal)}.chipbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.chipbar button{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:6px 15px;font-size:12px;font-weight:700;color:var(--ink-soft);transition:.15s}.chipbar button:hover{border-color:var(--teal);color:var(--teal-deep)}.chipbar button.on{background:var(--grad-head);color:#fff;border-color:transparent}.result-head{display:flex;justify-content:space-between;align-items:center;margin:24px 0 16px;font-size:13px;color:var(--ink-soft)}.list-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px;display:grid;grid-template-columns:64px 1fr 200px;grid-gap:20px;gap:20px;margin-bottom:14px;transition:.18s;border:1px solid transparent}.list-card:hover{box-shadow:var(--shadow-lg);border-color:#cbe9e4}.list-logo{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#e7fbf0,#e1f3fa);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:var(--teal-deep)}.list-mid h3{font-size:16.5px;font-weight:900}.list-name-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.list-company-name{font-size:12.5px;font-weight:700;color:var(--ink-soft)}.list-company-name:before{content:"／";color:var(--line);margin-right:8px}.verified-badge{font-size:10.5px;font-weight:700;color:var(--teal-deep);background:#e7f8f4;border:1px solid #c7ede6;border-radius:99px;padding:1px 9px;white-space:nowrap}.list-summary{font-size:12.5px;color:var(--ink-soft);line-height:1.65;margin-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.list-features{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px}.list-features li{font-size:11.5px;color:var(--ink-soft);padding-left:15px;position:relative;max-width:100%}.list-features li:before{content:"✓";position:absolute;left:0;color:var(--teal-deep);font-weight:700}.list-score{text-align:center;line-height:1.25}.list-score b{display:block;font-size:26px;font-weight:800;color:var(--ink)}.list-score .stars{display:block;color:var(--star);font-size:13px;letter-spacing:1px}.list-score small{display:block;font-size:11px;color:var(--ink-soft);margin-top:2px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip{font-size:11px;font-weight:700;border-radius:99px;padding:3px 12px}.chip.cat{background:#f0f6f9;color:#4a6b7e}.chip.new{background:#fdf3d8;color:#9a7a1e}.list-right{border-left:1px solid var(--line);padding-left:20px;display:flex;flex-direction:column;gap:8px;justify-content:center}.list-right .btn{padding:9px 12px;font-size:12.5px}.cta-row{display:flex;flex-direction:column;gap:8px}.recruit{font-size:12px;color:var(--ink-soft)}.recruit b{color:var(--teal-deep)}.more-wrap{text-align:center;margin:24px 0 60px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.rate-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 24px;gap:0 24px;background:var(--bg);border-radius:14px;padding:18px 20px;margin-bottom:18px}.rate-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;gap:10px}.rate-row span{min-width:0}.rate-row select{flex:none;max-width:100%}.logo-box-img{padding:10px}.logo-box-img img{width:100%;height:100%;object-fit:contain;display:block}.recommend-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:32px 36px;display:flex;gap:28px;align-items:flex-start}.recommend-profile{flex:none;width:130px;text-align:center}.recommend-avatar{width:88px;height:88px;border-radius:50%;overflow:hidden;margin:0 auto 12px}.recommend-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block}.recommend-badge{display:inline-block;margin-bottom:8px;background:var(--grad-head);color:#fff;font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:99px;padding:4px 14px}.recommend-name{font-weight:900;font-size:14.5px;color:var(--ink)}.recommend-role{font-size:11px;color:var(--ink-soft);margin-top:4px;line-height:1.6}.recommend-body{flex:1 1;min-width:0}.recommend-body p{font-size:14px;line-height:1.9;color:var(--ink-soft)}.research-list{list-style:none;display:flex;flex-direction:column;gap:8px}.research-list li{font-size:13.5px;color:var(--ink-soft);padding-left:20px;position:relative}.research-list li:before{content:"✓";position:absolute;left:0;color:var(--teal-deep);font-weight:700}.source-list{list-style:none;display:flex;flex-direction:column;gap:4px}.source-list a{font-size:11.5px;color:var(--ink-soft);text-decoration:underline}.detail-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:34px;margin-bottom:22px}.detail-top{gap:22px;flex-wrap:wrap}.detail-logo,.detail-top{display:flex;align-items:center}.detail-logo{width:84px;height:84px;border-radius:20px;background:linear-gradient(135deg,#e7fbf0,#e1f3fa);justify-content:center;font-weight:800;font-size:30px;color:var(--teal-deep)}.detail-top h1{font-size:24px;font-weight:900}.empty-review{text-align:center;padding:36px 20px}.empty-review .icon{font-size:34px}.empty-review b{display:block;font-weight:900;margin-top:8px}.empty-review p{font-size:13px;color:var(--ink-soft);margin-top:6px;max-width:520px;margin-left:auto;margin-right:auto}footer{background:linear-gradient(120deg,var(--hero-a),var(--hero-b));color:#bfe0dc;margin-top:56px}.foot-inner{padding:40px 0 20px}.foot-note{font-size:11.5px;line-height:1.8;max-width:480px}.foot-bottom{border-top:1px solid hsla(0,0%,100%,.15);margin-top:26px;padding:16px 0;font-size:11px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}@media(max-width:800px){.criteria,.service-grid{grid-template-columns:1fr}.list-card{grid-template-columns:48px 1fr;padding:16px;gap:12px 14px}.list-status-chip{display:none}.list-right{grid-column:1/-1;border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:12px;margin-top:0;flex-direction:column;align-items:stretch;gap:8px}.list-right .btn{width:100%}.cta-row{flex-direction:row;gap:8px}.cta-row .btn{flex:1 1;width:auto}.header-inner{flex-wrap:wrap;justify-content:space-between;height:auto;padding:10px 22px;row-gap:8px}.gnav{order:3;width:100%;flex-wrap:wrap;justify-content:center;row-gap:6px;overflow-x:visible}}@media(max-width:768px){.container{padding:0 16px}.btn{padding:10px 22px;font-size:13.5px}.header-inner{gap:10px 14px;padding:9px 20px}.logo-img{height:32px}.header-inner .btn{font-size:12.5px;padding:8px 16px}.gnav a{font-size:12.5px;padding:7px 12px}.hero-inner{padding:40px 0 36px}.hero .brand-img{width:200px}.hero p.lead{font-size:13.5px;line-height:1.7;padding:0 6px}.hero-stats{gap:24px;margin-top:30px}.hero-stats b{font-size:26px}section.block{padding:46px 0}.criteria-wrap,.vendor-cta{padding:26px 22px}.vendor-cta{flex-direction:column;align-items:flex-start;gap:18px}.vendor-cta h3{font-size:19px;line-height:1.45}.vendor-cta p{font-size:13px;line-height:1.7}.vendor-cta .btn{margin-top:2px}.detail-card{padding:24px 20px}.dir-hero{padding:22px 20px}.chipbar,.dir-search{margin-top:12px}.chipbar{justify-content:center;gap:6px}.foot-inner{padding:32px 18px 18px}.foot-note{max-width:100%}.form-grid-2,.rate-grid{grid-template-columns:1fr}.rate-grid{padding:16px}.recommend-card{flex-direction:column;align-items:center;text-align:center;padding:22px 18px;gap:14px}.recommend-profile{width:auto}.recommend-body p{font-size:13.5px;line-height:1.85}}@media(max-width:480px){.container{padding:0 14px}.btn{padding:9px 18px;font-size:12.5px}.header-inner{padding:8px 20px}.logo-img{height:26px}.header-inner .btn{font-size:11px;padding:7px 13px}.gnav a{font-size:11.5px;padding:6px 10px}.hero-inner{padding:32px 0 30px}.hero .brand-img{width:170px}.hero p.lead{max-width:320px;padding:0 10px}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:26px}.hero-stats b{font-size:20px}.hero-stats small{font-size:10.5px;line-height:1.4}.vendor-cta{padding:22px 18px;gap:16px}.vendor-cta h3{font-size:18px}.vendor-cta p{font-size:12.5px}.chipbar button{font-size:11.5px;padding:6px 13px}.list-card{padding:16px}.list-logo{width:48px;height:48px;font-size:18px;border-radius:12px}.list-mid h3{font-size:15px}.recruit{font-size:11.5px}.foot-inner{padding:26px 16px 16px}.foot-bottom{flex-direction:column;align-items:flex-start;gap:6px}}@media(max-width:400px){.hero-stats{display:flex;flex-direction:column;align-items:center;gap:14px}.hero-stats>div{width:100%}}