:root{--color-bg:#faf8f3;--color-bg-dark:#0a0f1e;--color-bg-parchment:#f5f0e8;--color-fg:#0a0f1e;--color-muted:#4e4038;--color-accent:#c9a84c;--color-border:rgba(10,15,30,.1);--color-border-gold:rgba(201,168,76,.28);--color-gold:#c9a84c;--color-indigo:#4f46e5;--primary:#0a0f1e;--font-serif:"Playfair Display","Noto Serif JP",Georgia,serif;--font-serif-ja:"Noto Serif JP",Georgia,serif;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans JP",sans-serif;--radius:8px;--shadow-sm:0 1px 3px rgba(10,15,30,.08);--shadow-md:0 6px 24px rgba(10,15,30,.12);--shadow-gold:0 4px 20px rgba(201,168,76,.22);--container:1120px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px}*{box-sizing:border-box}#__next,body,html{height:100%}html{scroll-behavior:smooth;background-color:#f0ebe0}body{margin:0;font-family:var(--font-sans);color:var(--color-fg);background:transparent;text-shadow:0 1px 3px hsla(0,0%,100%,.6)}body:before{background-image:url(/assets/images/bg-parchment.webp);background-size:cover;background-position:50%;opacity:.6}body:after,body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}body:after{background:rgba(10,15,30,.22)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--sp-5)}.stack>*+*{margin-top:var(--sp-5)}.cluster{display:flex;gap:var(--sp-4);align-items:center;flex-wrap:wrap}.space-between{justify-content:space-between}.visually-hidden{position:absolute;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.navbar{position:-webkit-sticky;position:sticky;top:0;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);background:hsla(43,41%,97%,.9);border-bottom:1px solid var(--color-border-gold);z-index:10}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-weight:700;letter-spacing:.2px}.nav-links a{color:var(--color-fg);padding:10px 12px;border-radius:6px;font-size:14px}.nav-links a:hover{background:rgba(201,168,76,.08)}.hero{padding:var(--sp-8) 0 var(--sp-7);background:var(--color-bg-dark)}.hero h1{font-size:clamp(28px,5vw,40px);line-height:1.1;margin:0 0 var(--sp-4);color:#fff}.hero p{color:hsla(0,0%,100%,.6);max-width:60ch}.searchbar{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-4);background:#fff;border:1px solid var(--color-border-gold);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.searchbar input,.searchbar select{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-fg)}.btn{padding:10px 18px;border-radius:var(--radius);border:1.5px solid var(--color-gold);background:transparent;color:var(--color-gold);font-weight:700;cursor:pointer;font-size:14px;display:inline-block;text-align:center;transition:background .18s,color .18s,box-shadow .18s}.btn:hover{background:var(--color-gold);color:var(--color-bg-dark);box-shadow:var(--shadow-gold)}.btn-ghost{border-color:var(--color-border);color:var(--color-fg);background:transparent}.btn-ghost:hover{background:rgba(10,15,30,.06);box-shadow:none;color:var(--color-fg)}.btn--primary{background:var(--color-gold);color:var(--color-bg-dark);border-color:var(--color-gold);box-shadow:var(--shadow-gold)}.btn--primary:hover{opacity:.88}.btn-diagnosis{background:transparent;color:var(--color-gold);border:1.5px solid var(--color-gold);padding:7px 16px;border-radius:var(--radius);font-weight:700;font-size:13px;white-space:nowrap;text-decoration:none;display:inline-block;transition:background .18s,color .18s}.btn-diagnosis:hover{background:var(--color-gold);color:var(--color-bg-dark)}.tabs{display:flex;gap:8px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}.tabs::-webkit-scrollbar{height:8px}.tabs::-webkit-scrollbar-thumb{background:var(--color-border-gold);border-radius:8px}.tabs .tab-btn{background:transparent;border:1px solid var(--color-border);padding:10px 14px;border-radius:6px;cursor:pointer;font-weight:600;color:var(--color-muted);min-width:110px;text-align:center;transition:background .15s,color .15s,border-color .15s}.tabs .tab-btn.is-active{background:var(--color-bg-dark);color:#fff;border-color:var(--color-bg-dark)}.tabs .tab-btn:hover:not(.is-active){background:rgba(10,15,30,.05);border-color:var(--color-border-gold)}.tabs .tab-btn:focus-visible{outline:3px solid rgba(201,168,76,.3);outline-offset:2px}@media (max-width:640px){.tabs .tab-btn{min-width:92px;padding:12px 14px;font-size:14px}}.card{border:1px solid var(--color-border-gold);border-radius:var(--radius);overflow:hidden;background:hsla(0,0%,100%,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--shadow-sm)}.card-body{padding:var(--sp-4)}.card-title{font-weight:700;margin:0 0 var(--sp-2);color:var(--color-fg)}.card-meta{color:var(--color-muted);font-size:14px}.feature-card{display:block;border:1px solid var(--color-border-gold);text-decoration:none;transition:box-shadow .2s,transform .15s;background:hsla(0,0%,100%,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.feature-card:hover{box-shadow:var(--shadow-gold)}.feature-media{height:180px;display:block}.feature-body{padding:20px}.feature-title{font-size:16px;margin:0 0 6px;color:var(--color-fg)}.feature-meta{font-size:13px;margin:0;line-height:1.6}.footer,.hp-bottom-cta,.hp-hero,.hp-step--accent,[style*="background: #0a0f1e"],[style*="background: rgba(10,15,30"],[style*="background:#0a0f1e"]{text-shadow:none}.footer{margin-top:0;padding:var(--sp-8) 0 var(--sp-7);background:var(--color-bg-dark);border-top:1px solid rgba(201,168,76,.2);font-size:14px}.footer,.footer a{color:hsla(0,0%,100%,.45)}.footer a{transition:color .15s}.footer a:hover{color:var(--color-gold)}.footer .provider-login,.footer .provider-login:active,.footer .provider-login:focus,.footer .provider-login:hover,.footer .provider-login:link,.footer .provider-login:visited{color:var(--color-bg-dark)!important;background:var(--color-gold)!important;border:none!important;padding:8px 14px!important;border-radius:var(--radius)!important;display:inline-block;font-weight:700}.section-title{font-family:var(--font-serif-ja);font-size:clamp(20px,3vw,26px);font-weight:700;color:var(--color-fg)}.grid{display:grid;grid-gap:var(--sp-5);gap:var(--sp-5);grid-template-columns:repeat(12,1fr)}.col-4{grid-column:span 4}.features-grid{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card .service-thumb{height:180px;object-fit:cover}.badge{display:inline-block;padding:4px 10px;border-radius:6px;background:var(--color-gold);color:var(--color-bg-dark);font-weight:700;font-size:13px;box-shadow:var(--shadow-gold)}.service-thumb{width:100%;height:200px;object-fit:cover;border-radius:6px}.detail-access{background:rgba(201,168,76,.07);border-left:3px solid var(--color-gold);padding:12px;border-radius:6px;margin:8px 0}.detail-access p{margin:4px 0}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:active,.skip-link:focus{left:12px;top:12px;width:auto;height:auto;padding:8px 12px;background:var(--color-bg-dark);color:#fff;border-radius:6px;z-index:1000}.btn:focus-visible{outline:3px solid rgba(201,168,76,.4);outline-offset:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media (max-width:900px){.searchbar{grid-template-columns:1fr}.col-4{grid-column:span 12}}@media (max-width:640px){.card .service-thumb{height:140px}.card-body{padding:12px}}@media (min-width:1200px){.features-grid.three-up{grid-template-columns:repeat(3,1fr)}}.hp-hero{background:var(--color-bg-dark);color:#fff;padding:96px 0 80px}.hp-hero__inner{max-width:720px}.hp-hero__title{font-size:clamp(36px,6vw,60px);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin:0 0 24px;color:#fff}.hp-hero__sub{font-size:clamp(15px,2vw,18px);color:hsla(0,0%,100%,.6);line-height:1.8;margin:0 0 40px}.hp-section-title{font-family:var(--font-serif-ja);font-size:clamp(22px,4vw,32px);font-weight:700;margin:0 0 40px;color:var(--color-fg)}.hp-bottom-cta{background:var(--color-bg-dark);padding:96px 0;text-align:center}.hp-bottom-cta__title{font-size:clamp(22px,4vw,36px);font-weight:700;color:#fff;line-height:1.4;margin:0}.hp-bottom-cta__sub{font-size:14px;color:hsla(0,0%,100%,.4);letter-spacing:.1em;margin:0}.hp-steps-section{background:hsla(37,39%,94%,.68)}.hp-step{background:hsla(0,0%,100%,.82);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius);padding:28px 24px;border:1px solid var(--color-border-gold)}.hp-step--accent{background:var(--color-bg-dark)}.hp-step--accent .hp-step__title{color:#fff}.hp-step--accent .hp-step__desc{color:hsla(0,0%,100%,.6)}.hp-step__title{font-size:17px;font-weight:700;color:var(--color-fg);margin:0 0 8px}.hp-step__desc{font-size:13px;color:var(--color-muted);line-height:1.7;margin:0}.hp-cat-section{background:hsla(37,39%,94%,.68)}.hp-cat{background:hsla(0,0%,100%,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--color-border-gold);border-radius:var(--radius);padding:24px 12px;text-decoration:none;transition:box-shadow .2s,transform .2s}.hp-cat:hover{box-shadow:var(--shadow-gold);transform:translateY(-2px)}.hp-cat__label{font-size:13px;font-weight:600;color:var(--color-fg);text-align:center}.points-badge{color:var(--color-gold);border:1px solid var(--color-border-gold)}.section{padding:var(--sp-8) 0}.section-title{margin:0;font-size:clamp(22px,3.2vw,28px)}.muted{color:var(--color-muted)}.hide-mobile{display:none}@media (min-width:900px){.hide-mobile{display:initial}}.navbar-inner{gap:var(--sp-4)}.navbar-search{flex:1 1 auto;display:none}@media (min-width:900px){.navbar-search{display:block;max-width:720px}}.searchbar--compact{display:grid;grid-template-columns:1fr auto;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-3);border-radius:999px;border:1px solid var(--color-border);background:#fff;box-shadow:var(--shadow-sm)}.searchbar--compact input{border:none;padding:10px 14px;background:transparent;outline:none}.searchbar--compact .btn{border-radius:999px;padding:10px 16px}.hero--visual{padding:clamp(48px,8vw,96px) 0;background:transparent!important;position:relative;overflow:hidden;--hero-left:url(/assets/images/hero-combined.png);--hero-right:url(/assets/images/hero-combined.png)}.hero--visual:after,.hero--visual:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-position:50%;background-size:cover;background-repeat:no-repeat;transform:translateZ(0)}.hero--visual:before{background-image:var(--hero-left);background-position:0;opacity:1;filter:saturate(1.02) contrast(1.04);z-index:0}.hero--visual:after{background-image:var(--hero-right);background-position:100%;opacity:1;mix-blend-mode:normal;filter:blur(1px) saturate(.98) contrast(.995);z-index:1}@media (max-width:640px){.hero--visual{--hero-left:url(/assets/images/hero-combined-mobile.png);--hero-right:url(/assets/images/hero-combined-mobile.png)}.hero--visual:before{background-position:top}.hero--visual:after{background-position:bottom;filter:blur(1.5px) saturate(.98) contrast(.995)}}@media (orientation:portrait){.hero--visual{--hero-left:url(/assets/images/hero-combined-mobile.png);--hero-right:url(/assets/images/hero-combined-mobile.png)}.hero--visual:before{background-position:top}.hero--visual:after{background-position:bottom}}.hero--visual .hero-bg-fog{position:absolute;inset:0;z-index:2;pointer-events:none;background:transparent;opacity:0}.hero--visual>.container{position:relative;z-index:4;background:transparent!important;box-shadow:none!important;border:none!important}.hero--visual .hero-warm-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,rgba(255,160,110,.06),rgba(255,120,85,.03) 50%,rgba(255,90,60,.02));mix-blend-mode:overlay}.hero--visual .hero-sub,.hero--visual .hero-title{color:#fff!important;text-shadow:0 6px 28px rgba(0,0,0,.6)!important}.hero--visual h1 span{color:#fff!important;text-shadow:0 6px 20px rgba(0,0,0,.38)!important}.hero-kicker{font-weight:600;letter-spacing:.08em;color:#4b5563;text-transform:uppercase;font-size:12px}.hero-title{margin:0;font-size:clamp(30px,5.4vw,48px);line-height:1.1}.hero-sub{color:var(--color-muted);max-width:60ch}.home-categories{padding:32px 0;background:var(--color-bg-parchment);border-top:1px solid var(--color-border-gold);border-bottom:1px solid var(--color-border-gold)}.home-categories .container{display:block}.categories-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:18px;gap:18px;align-items:stretch}.category-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;background:#fff;border:1px solid var(--color-border-gold);border-radius:12px;box-shadow:var(--shadow-sm);text-align:center;transition:transform .12s ease,box-shadow .12s ease}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-gold);border-color:var(--color-gold)}.category-card a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit}.category-icon{width:52px;height:52px;border-radius:10px;background:linear-gradient(135deg,rgba(11,38,64,.04),rgba(185,143,59,.04));display:flex;align-items:center;justify-content:center;margin-bottom:8px;font-size:20px}.category-label{font-weight:800;font-size:13px;color:var(--color-fg);line-height:1}.category-sub{display:none}@media (max-width:1200px){.categories-grid{grid-template-columns:repeat(5,1fr)}}@media (max-width:900px){.categories-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:640px){.categories-grid{grid-template-columns:repeat(3,1fr);gap:8px}.category-icon{width:40px;height:40px;font-size:16px}.category-card{padding:6px}.category-label{font-size:12px}}.features-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:var(--sp-5);gap:var(--sp-5)}.feature-card{grid-column:span 12;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.feature-media{aspect-ratio:16/9;width:100%;object-fit:cover}.feature-body{padding:var(--sp-5)}.feature-title{margin:0 0 var(--sp-2);font-weight:700;font-size:18px}.feature-meta{color:var(--color-muted);font-size:14px}@media (min-width:900px){.feature-card{grid-column:span 4}}.search-purpose-summary{margin:8px 0}.search-active-filters{margin:8px 0;padding:var(--sp-3);border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.search-active-filters>.cluster{align-items:center;flex-wrap:wrap}.search-active-filters .badge{background:#f3f4f6;color:#111827;border:1px solid var(--color-border);font-weight:600;padding:6px 10px;border-radius:999px}.search-active-filters .btn{padding:8px 12px}.search-active-filters .btn-ghost.is-active{background:rgba(201,168,76,.1);color:var(--color-fg);border:1px solid var(--color-border-gold)}@media (max-width:560px){.search-active-filters .badge{padding:4px 8px;font-size:12px}.search-active-filters .btn{padding:8px 10px;font-size:13px}}.btn-diagnosis{background:transparent!important;color:var(--color-gold,#c9a84c)!important;border:1.5px solid var(--color-gold,#c9a84c)!important;padding:7px 16px!important;border-radius:8px!important;font-weight:700!important;font-size:13px!important;white-space:nowrap!important;text-decoration:none!important;display:inline-block!important;transition:background .18s,color .18s!important}.btn-diagnosis:hover{background:var(--color-gold,#c9a84c)!important;color:#0a0f1e!important}.points-badge{font-size:12px;font-weight:700;background:rgba(201,168,76,.1);color:var(--color-gold,#c9a84c);padding:4px 10px;border-radius:99px;border:1px solid rgba(201,168,76,.28);white-space:nowrap}#header-auth-area,.points-badge{display:inline-flex;align-items:center}#header-auth-area{gap:8px}@media (min-width:1025px){#site-header .nav-links>a:first-of-type,.navbar .nav-links>a:first-child{margin-left:auto!important}}