:root{
  --bg:#f7fbff;--surface:#fff;--surface2:#f2f8ff;--text:#172033;--muted:#5e6b7d;--line:#dce7f2;
  --blue:#1769e0;--blue2:#37a8ff;--navy:#0c3f91;--green:#1f9d62;--amber:#e79a10;--purple:#7655d8;--rose:#d95072;
  --shadow:0 14px 36px rgba(31,73,125,.10);--radius:22px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--text);background:var(--bg);line-height:1.78;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(calc(100% - 32px),var(--max));margin:auto}.narrow{width:min(calc(100% - 32px),860px);margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:100;background:#fff;padding:10px 14px;border:2px solid var(--blue);border-radius:10px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:11px}.brand img{width:48px;height:48px;object-fit:contain}.brand strong{display:block;color:#0b4fa6;line-height:1.15}.brand small{display:block;font-size:.75rem;color:#6c7b8d;margin-top:3px}.nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.nav a{font-size:.91rem;font-weight:750;color:#344256;padding:25px 0 21px;border-bottom:3px solid transparent}.nav a:hover,.nav a[aria-current="page"]{color:var(--blue);border-bottom-color:var(--blue)}
.hero{background:linear-gradient(180deg,#fff 0,#eef8ff 100%);border-bottom:1px solid var(--line);overflow:hidden}.hero-grid{padding:38px 0 34px;display:block}.eyebrow,.kicker{display:inline-flex;color:var(--blue);font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hero h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.16;letter-spacing:-.025em;margin:8px 0 12px;max-width:900px}.hero h1 span{color:#0754b6}.lead{font-size:1.02rem;color:#42536a;max-width:76ch}.actions,.card-actions{display:flex;gap:12px;flex-wrap:wrap}.actions{margin:20px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;font-weight:850;border:1px solid transparent;transition:.18s transform,.18s box-shadow,.18s background}.button:hover{transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg,var(--blue),#1396ef);color:#fff;box-shadow:0 10px 22px rgba(23,105,224,.20)}.button.secondary,.button.ghost{background:#fff;border-color:#cbdbea;color:#174777}.button.small{min-height:42px;padding:0 15px;font-size:.9rem}.trust-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;padding:0;margin:25px 0 0}.trust-points li{background:rgba(255,255,255,.78);border:1px solid #d8e8f6;border-radius:15px;padding:12px 13px}.trust-points strong{display:block;color:#184a87;font-size:.9rem}.trust-points span{display:block;color:#718093;font-size:.76rem;line-height:1.45;margin-top:2px}.hero-visual{position:relative}.hero-visual>img{width:100%;border-radius:28px;border:1px solid #d8e8f6;box-shadow:var(--shadow);background:#fff}.hero-badge{position:absolute;right:18px;bottom:-18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:12px 18px;display:grid;grid-template-columns:auto auto;gap:0 8px;align-items:center}.hero-badge span{grid-column:1/-1;font-size:.72rem;color:var(--muted)}.hero-badge strong{font-size:1.9rem;color:var(--blue);line-height:1}.hero-badge small{color:var(--muted)}
.section{padding:68px 0}.section.soft{background:#f0f7ff;border-block:1px solid var(--line)}.section.compact{padding:42px 0}.section-head{margin-bottom:27px}.section-head.split{display:flex;align-items:end;justify-content:space-between;gap:24px}.section h2,.page-hero h1,.tool-hero h1{font-size:clamp(1.8rem,3.2vw,2.75rem);line-height:1.25;margin:7px 0 10px}.section-head p,.page-hero p{max-width:72ch;color:var(--muted);margin:0}.text-link{color:var(--blue);font-weight:850}.text-link:hover{text-decoration:underline}
.problem-section{padding-top:34px}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.problem-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 7px 20px rgba(31,73,125,.06);min-height:128px}.problem-card:hover{border-color:#a9c7e8;transform:translateY(-1px)}.problem-card img{width:44px;height:44px;object-fit:contain;border-radius:12px;flex:0 0 auto}.problem-card strong{font-size:.93rem;line-height:1.5;display:block}.problem-card span{display:block;margin-top:7px;font-size:.8rem;color:var(--muted)}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.product-card{display:grid;grid-template-columns:150px 1fr;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.product-visual{display:grid;place-items:center;padding:24px;background:linear-gradient(150deg,#f5faff,#eaf5ff)}.product-visual img{width:105px;height:105px;object-fit:contain}.product-body{padding:22px}.product-body h3{font-size:1.3rem;margin:8px 0}.product-body p{color:var(--muted);margin:0 0 14px}.product-meta{display:flex;gap:8px;flex-wrap:wrap}.type-label,.status-label{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:850}.type-label{background:#edf5ff;color:#1c63b9}.status-label{background:#edf9f3;color:#177647}.status-label.prep{background:#fff6df;color:#9b6510}.tag-list{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 17px}.tag-list span{background:#f4f7fb;border:1px solid #e1e8f0;color:#617085;border-radius:999px;padding:4px 8px;font-size:.74rem}.tone-green .product-visual,.tone-green.tool-hero{background:linear-gradient(145deg,#effcf5,#e7f8f0)}.tone-amber .product-visual,.tone-amber.tool-hero{background:linear-gradient(145deg,#fff8e9,#fff3d8)}.tone-purple .product-visual,.tone-purple.tool-hero{background:linear-gradient(145deg,#f7f3ff,#eee8ff)}.tone-rose .product-visual,.tone-rose.tool-hero{background:linear-gradient(145deg,#fff2f6,#ffe9ef)}
.app-feature{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}.app-feature-icon{background:#eefaf3;border-radius:18px;padding:22px}.app-feature-icon img{width:132px;margin:auto}.app-feature h3{font-size:1.45rem;margin:8px 0}.app-feature p{color:var(--muted)}
.guide-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}.guide-layout>div:first-child p{color:var(--muted)}.guide-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.guide-mini-grid a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px}.guide-mini-grid strong{display:block}.guide-mini-grid span{display:block;color:var(--muted);font-size:.84rem;margin-top:4px}.about-strip{background:linear-gradient(135deg,#0d62ca,#179be7);color:#fff;border-radius:24px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:26px}.about-strip p{margin:0;max-width:70ch;color:#e8f5ff}.about-strip .kicker{color:#c9ecff}.about-strip .button.ghost{flex:0 0 auto}.content-note{margin-top:30px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.content-note h2{font-size:1.35rem}.content-note p{color:var(--muted)}
.page-hero{background:linear-gradient(180deg,#fff,#edf7ff);border-bottom:1px solid var(--line);padding:55px 0 42px}.tool-hero{padding:50px 0;border-bottom:1px solid var(--line)}.tool-hero-grid{display:grid;grid-template-columns:1fr 280px;gap:42px;align-items:center}.detail-icon{background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px;box-shadow:var(--shadow)}.detail-icon img{width:200px;height:200px;object-fit:contain;margin:auto}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:34px;align-items:start}.article-main{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px}.article-main h2{font-size:1.55rem;margin-top:34px}.article-main h2:first-child{margin-top:0}.article-main p,.article-main li{color:#4e5f72}.check-list{padding-left:1.2rem}.check-list li{margin:9px 0}.step-list{list-style:none;padding:0;display:grid;gap:12px}.step-list li{display:grid;grid-template-columns:150px 1fr;gap:15px;background:#f7fbff;border:1px solid #e3edf6;border-radius:14px;padding:15px}.step-list strong{color:#174f94}.step-list span{color:var(--muted)}.article-side{display:grid;gap:16px;position:sticky;top:98px}.side-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.side-card h2{font-size:1.05rem;margin:0 0 12px}.side-card dl{margin:0}.side-card dl div{padding:10px 0;border-bottom:1px solid #edf1f5}.side-card dl div:last-child{border-bottom:0}.side-card dt{font-size:.76rem;color:var(--muted)}.side-card dd{margin:2px 0 0;word-break:break-word}.side-card a{display:block;color:var(--blue);font-weight:750;margin:9px 0}.guide-articles{display:grid;gap:22px}.guide-articles article{display:grid;grid-template-columns:80px 1fr;gap:24px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}.guide-articles h2{font-size:1.5rem;margin:0}.guide-articles h3{font-size:1.05rem;margin-top:22px}.guide-articles p,.guide-articles li{color:var(--muted)}.guide-icon{width:68px;height:68px;border-radius:20px;background:#eaf4ff;color:#1357aa;font-weight:900;display:grid;place-items:center;font-size:1.2rem}.operator-card{display:grid;grid-template-columns:160px 1fr;gap:25px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.operator-card img{width:145px}.operator-card p{color:var(--muted)}.info-card,.contact-card{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}.info-card dl{margin:0}.info-card dl div{display:grid;grid-template-columns:150px 1fr;padding:12px 0;border-bottom:1px solid #edf1f5}.info-card dt{font-weight:800}.info-card dd{margin:0;color:var(--muted)}.contact-mail{font-size:1.3rem;font-weight:850;color:var(--blue);word-break:break-all}.notice-box{background:#f4f8fc;border-left:4px solid var(--blue);padding:16px 18px;margin-top:22px;border-radius:10px}.notice-box p{margin-bottom:0;color:var(--muted)}.prose{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px}.prose h2{font-size:1.35rem;margin-top:34px}.prose h2:first-of-type{margin-top:16px}.prose p,.prose li{color:#4e5f72}.prose a{color:var(--blue);font-weight:750}.updated{font-size:.88rem;color:#7a8796!important}.sitemap-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.sitemap-grid section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.sitemap-grid h2{font-size:1.25rem}.sitemap-grid a{display:block;padding:9px 0;color:var(--blue);font-weight:700;border-bottom:1px solid #edf1f5}.sitemap-grid a:last-child{border:0}
.site-footer{background:#fff;border-top:1px solid var(--line);padding:36px 0 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:35px}.footer-brand{display:flex;gap:13px;align-items:center}.footer-brand-link{color:inherit;text-decoration:none}.footer-brand img{width:46px;height:46px}.footer-brand p{margin:2px 0 0;color:var(--muted);font-size:.84rem}.footer-links{display:flex;gap:10px 18px;flex-wrap:wrap;align-content:center;justify-content:flex-end}.footer-links a{font-size:.86rem;color:#526176}.copyright{text-align:center;color:#8995a4;font-size:.8rem;border-top:1px solid #edf1f5;margin-top:26px;padding-top:20px}.error-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(180deg,#fff,#eef7ff)}.error-card{width:min(100%,650px);text-align:center;background:#fff;border:1px solid var(--line);border-radius:26px;padding:40px;box-shadow:var(--shadow)}.error-card>img{width:110px;margin:0 auto 10px}.error-card p{color:var(--muted)}.error-card .actions{justify-content:center}
@media(max-width:1050px){.problem-grid{grid-template-columns:repeat(3,1fr)}.nav{gap:14px}.nav a{font-size:.84rem}.product-card{grid-template-columns:130px 1fr}}
@media(max-width:860px){.nav-wrap{align-items:flex-start;padding:12px 0;flex-direction:column}.nav{width:100%;overflow-x:auto;flex-wrap:nowrap;gap:18px}.nav a{white-space:nowrap;padding:7px 0 10px}.hero-grid,.guide-layout,.tool-hero-grid,.article-grid{grid-template-columns:1fr}.hero-visual{max-width:680px}.trust-points{grid-template-columns:1fr}.problem-grid{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:1fr}.app-feature{grid-template-columns:140px 1fr}.article-side{position:static}.detail-icon{max-width:300px}.footer-top{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:600px){.hero-grid{padding-top:42px}.hero h1{font-size:2.35rem}.problem-grid,.guide-mini-grid,.sitemap-grid{grid-template-columns:1fr}.problem-card{min-height:0}.product-card{grid-template-columns:92px 1fr}.product-visual{padding:14px}.product-visual img{width:70px;height:70px}.product-body{padding:17px}.card-actions{flex-direction:column}.card-actions .button{width:100%}.app-feature{grid-template-columns:1fr}.app-feature-icon{max-width:180px}.about-strip{align-items:flex-start;flex-direction:column}.article-main,.prose{padding:22px}.step-list li{grid-template-columns:1fr;gap:3px}.guide-articles article{grid-template-columns:1fr}.operator-card{grid-template-columns:1fr}.operator-card img{width:120px}.info-card dl div{grid-template-columns:1fr;gap:4px}.section{padding:52px 0}.page-hero{padding:42px 0 34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Hub v3: tool-first compact homepage */
.compact-hero .hero-copy{max-width:980px}.hero-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.hero-summary span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:#617085;font-size:.8rem}.hero-summary strong{color:var(--blue);font-size:1rem}.app-prep-section{border-top:1px solid var(--line);background:#fafcff}.app-prep{display:flex;align-items:center;justify-content:space-between;gap:28px}.app-prep h2{font-size:1.25rem;margin:8px 0 5px}.app-prep p{margin:0;color:var(--muted);max-width:760px}.app-prep .card-actions{align-items:center;flex:0 0 auto}.narrow-content{max-width:900px}.app-status-note{margin-top:0}.tool-hero-grid.single{grid-template-columns:1fr;max-width:960px}.app-detail-hero{padding:38px 0}.app-detail-hero .lead{max-width:850px}
@media(max-width:1050px){.problem-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.app-prep{align-items:flex-start;flex-direction:column}.hero-summary{margin-top:14px}}
@media(max-width:600px){.compact-hero .container{padding-top:0}.hero h1{font-size:2rem}.problem-grid{grid-template-columns:1fr}.hero-summary span{font-size:.76rem}}

/* Home problem cards: show service type/status without turning the home into a duplicate catalog. */
.problem-card-body{min-width:0}.problem-meta{margin:0 0 9px}.problem-card .problem-meta span{display:inline-flex;margin-top:0;font-size:.68rem}.problem-card .problem-name{display:block;margin-top:7px;font-size:.8rem;color:var(--muted)}
