:root{--white:#ffffff;--paper:#f7f8f6;--sky:#e9f2f5;--ink:#17212b;--brand:#183b56;--accent:#e56a3a;--accent-strong:#b84e22;--bg:var(--white);--bg-alt:var(--paper);--bg-tint:var(--sky);--ink-2:#4a5866;--accent-strong-hover:#9a3f1a;--line:#d5dce1;--line-tint:#bfd3dc;--line-strong:#7f93a1;--on-dark:#ffffff;--on-dark-2:#dbe8ee;--focus:var(--brand);--font-jp:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","游ゴシック Medium",YuGothic,"Yu Gothic","BIZ UDPGothic",Meiryo,sans-serif;--font-base:var(--font-en),var(--font-jp);--fs-12:0.75rem;--fs-13:0.8125rem;--fs-14:0.875rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-lead:clamp(1rem,0.96rem + 0.2vw,1.125rem);--fs-statement:clamp(1.25rem,1.15rem + 0.45vw,1.5rem);--fs-h2:clamp(1.5rem,1.3rem + 0.9vw,2rem);--fs-hero-jp:clamp(1.5rem,1.2rem + 1.3vw,2rem);--fs-hero-en:clamp(2.75rem,1.35rem + 7vw,4.5rem);--fs-stat:clamp(2.5rem,2rem + 2.2vw,3.5rem);--sp-1:0.25rem;--sp-2:0.5rem;--sp-3:0.75rem;--sp-4:1rem;--sp-6:1.5rem;--sp-8:2rem;--sp-12:3rem;--sp-16:4rem;--section:clamp(4rem,2.5rem + 5vw,6rem);--gutter:clamp(1rem,4vw,2.5rem);--wide:75rem;--reading:45rem;--header-h:4rem;--radius-s:2px;--radius-m:4px;--shadow-panel:0 1px 2px rgba(23,33,43,0.06),0 12px 32px rgba(23,33,43,0.1);--ease-out:cubic-bezier(0.22,1,0.36,1);--dur:180ms;--z-header:200;--z-skip:300}@media (min-width:64rem){:root{--header-h:4.5rem}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{background:var(--bg);color-scheme:light;font-size:100%;scroll-padding-top:calc(var(--header-h) + 1rem);-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-width:20rem;background:var(--bg);color:var(--ink);font-family:var(--font-base);font-size:var(--fs-16);font-weight:400;line-height:1.8;letter-spacing:.02em;line-break:strict;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}ol,ul{list-style:none}address{font-style:normal}h1,h2,h3,h4{font-feature-settings:"palt";font-weight:600;letter-spacing:.04em;line-height:1.5;text-wrap:balance;word-break:auto-phrase}p{text-wrap:pretty}a{color:var(--link-c,var(--brand));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}::selection{background:var(--brand);color:var(--white)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.font-en{font-family:var(--font-en),sans-serif}.visually-hidden{position:absolute;overflow:hidden;clip-path:inset(50%);width:1px;height:1px;margin:-1px;border:0;padding:0;white-space:nowrap}.jp-dash{font-family:var(--font-jp);letter-spacing:0}.ph{display:inline-block;max-width:100%}@media (hover:hover) and (pointer:fine){a:hover{text-decoration-thickness:2px}}.container{width:min(100% - var(--gutter) * 2,var(--wide));margin-inline:auto}.section{padding-block:var(--section)}.grid12{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-8)}@media (min-width:64rem){.grid12{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--sp-8)}}.sec-en{color:var(--label-c,var(--brand));font-family:var(--font-en),sans-serif;font-size:var(--fs-13);font-weight:600;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.desc{max-width:40em}:where(.prose)>*+*{margin-top:var(--sp-6)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:3rem;border:1px solid transparent;border-radius:var(--radius-m);padding:var(--sp-2) var(--sp-6);font:inherit;font-feature-settings:"palt";font-weight:600;letter-spacing:.04em;line-height:1.4;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}.button:active{transform:translateY(1px)}.button-primary{background:var(--accent-strong);color:var(--white)}.button-outline{border-color:var(--btn-c,var(--brand));background:transparent;color:var(--btn-c,var(--brand))}.button-sm{min-height:2.75rem;padding-inline:var(--sp-4);font-size:var(--fs-14)}.button-lg{min-height:3.5rem;padding-inline:var(--sp-6);font-size:var(--fs-lead)}@media (min-width:40rem){.button-lg{padding-inline:var(--sp-8)}}@media (hover:hover) and (pointer:fine){.button-primary:hover{background:var(--accent-strong-hover)}.button-outline:hover{background:var(--btn-c,var(--brand));color:var(--btn-on,var(--white))}}.skip-link{position:fixed;z-index:var(--z-skip);top:var(--sp-2);left:var(--sp-2);border-radius:var(--radius-m);background:var(--ink);padding:var(--sp-3) var(--sp-4);color:var(--white);font-weight:600;text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;z-index:var(--z-header);top:0;border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{display:flex;justify-content:space-between;min-height:var(--header-h)}.brand,.header-inner{align-items:center;gap:var(--sp-3)}.brand{display:inline-flex;flex:none;min-height:2.75rem;color:var(--ink);text-decoration:none;white-space:nowrap}.brand-text{display:grid;gap:var(--sp-1);line-height:1.2}.brand-logo{display:block;width:15rem;height:auto}.brand-logo-header{width:14.25rem}@media (min-width:64rem) and (max-width:74.9375rem){.brand-logo-header{width:11.25rem}}@media (max-width:40rem){.brand-logo-header{width:11.25rem}}@media (max-width:26.1875rem){.brand-logo-header{width:2.75rem;height:2.75rem;object-fit:contain}}.brand-name{color:var(--brand);font-family:var(--font-en),sans-serif;font-size:var(--fs-20);font-weight:700;letter-spacing:.01em}.brand-sub{color:var(--ink-2);font-feature-settings:"palt";font-size:var(--fs-13);letter-spacing:.04em}@media (max-width:29.9375rem){.header-brand-sub{display:none}}.header-right{display:flex;flex:none;align-items:center;gap:var(--sp-2)}@media (max-width:22.4375rem){.header-contact{padding-inline:var(--sp-3)}}.gnav{display:none}.gnav-list{display:flex;gap:var(--sp-4)}.gnav-link{position:relative;display:inline-flex;align-items:center;min-height:var(--header-h);padding-inline:var(--sp-2);color:var(--ink);font-feature-settings:"palt";font-weight:600;letter-spacing:.04em;text-decoration:none;white-space:nowrap}.gnav-link:after{position:absolute;right:var(--sp-2);bottom:0;left:var(--sp-2);height:3px;background:var(--brand);content:"";transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease-out)}.gnav-link[aria-current=page]:after{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.gnav-link:hover:after{transform:scaleX(1)}}.mnav-toggle{display:grid;place-items:center;align-content:center;gap:var(--sp-1);min-width:3rem;min-height:2.75rem;border-radius:var(--radius-m);color:var(--brand);cursor:pointer;list-style:none}.mnav-toggle::-webkit-details-marker{display:none}.mnav-icon{width:1.5rem;height:1.5rem}.mnav-label{font-family:var(--font-en),sans-serif;font-size:var(--fs-12);font-weight:600;letter-spacing:.08em;line-height:1}.mnav:not([open]) .when-open,.mnav[open] .when-closed{display:none}.mnav-panel{position:absolute;top:100%;right:0;left:0;overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - var(--header-h));border-top:1px solid var(--line);background:var(--bg);padding:var(--sp-2) var(--gutter) max(var(--sp-6),env(safe-area-inset-bottom));box-shadow:var(--shadow-panel)}.mnav-link{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:3.5rem;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;text-decoration:none}.mnav-link-icon,.mnav-link[aria-current=page]{color:var(--brand)}.mnav-link-icon{flex:none;width:1rem;height:1rem}@media (min-width:64rem){.header-right{gap:var(--sp-8)}.gnav{display:block}.mnav{display:none}}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-6);margin-top:var(--sp-8)}.news{background:var(--bg-alt);padding-block:var(--sp-12)}.news-title{grid-column:1/-1;line-height:1.7;word-break:auto-phrase}@media (min-width:48rem){.news-title{grid-column:auto}}@media (min-width:64rem){.news{padding-block:var(--sp-16)}}.service{padding-bottom:0}.flow{padding-top:var(--sp-16)}.results{padding-top:0}.stat+.stat{border-top:1px solid var(--line-tint);padding-top:var(--sp-6)}@media (min-width:48rem){.stat+.stat{border-top:0;border-left:1px solid var(--line-tint);padding-top:0;padding-left:var(--sp-8)}}.contact{--focus:var(--on-dark);--label-c:var(--on-dark-2);--heading-c:var(--on-dark);--btn-c:var(--on-dark);--btn-on:var(--brand);--link-c:var(--on-dark);background:var(--brand);padding-block:var(--section);color:var(--on-dark)}.contact ::selection{background:var(--on-dark);color:var(--brand)}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4) var(--sp-8);margin-top:var(--sp-8)}.site-footer{background:var(--bg);padding-block:var(--sp-16) var(--sp-8)}.footer-tagline{margin-top:var(--sp-4);font-feature-settings:"palt";font-weight:600;letter-spacing:.04em}.footer-address{margin-top:var(--sp-4);color:var(--ink-2);font-size:var(--fs-14);line-height:1.8}.footer-address-line{display:block}.footer-mail{display:inline-flex;align-items:center;min-height:2.75rem;font-family:var(--font-en),sans-serif}.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,auto));gap:var(--sp-8) var(--sp-6)}.footer-nav>:last-child{grid-column:1/-1}.footer-title{border-bottom:1px solid var(--line);padding-bottom:var(--sp-2);color:var(--brand);font-size:var(--fs-14);font-weight:600}.footer-link{display:flex;align-items:center;min-height:2.75rem;color:var(--ink);font-feature-settings:"palt";font-size:var(--fs-14);letter-spacing:.04em;line-height:1.5;text-decoration:none;word-break:auto-phrase}.footer-link[aria-current=page]{color:var(--brand);font-weight:600}@media (hover:hover) and (pointer:fine){.footer-link:hover{color:var(--brand);text-decoration:underline;text-decoration-thickness:1px}}.footer-bottom{display:grid;gap:var(--sp-4);margin-top:var(--sp-12);border-top:1px solid var(--line);padding-top:var(--sp-6)}.footer-notes{display:grid;gap:var(--sp-1);line-height:1.7}.footer-copy,.footer-notes{color:var(--ink-2);font-size:var(--fs-13)}@media (min-width:40rem){.footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--sp-8)}.footer-nav>:last-child{grid-column:auto}}@media (min-width:64rem){.footer-brand{grid-column:span 4}.footer-nav{grid-column:5/-1}.footer-bottom{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.page-head{border-bottom:1px solid var(--line);background:var(--bg-alt);padding-block:var(--sp-12)}.page-title{margin-top:var(--sp-2);font-size:var(--fs-h2);line-height:1.4}.page-lead{max-width:40em;margin-top:var(--sp-4);color:var(--ink-2)}.page-body{padding-block:var(--section)}.page-prose{max-width:var(--reading);margin-inline:max(var(--gutter),(100% - var(--wide))/2) auto}.page-note{color:var(--ink-2);font-size:var(--fs-14)}:where(.page-prose)>*+*{margin-top:var(--sp-4)}:where(.page-prose)>h2{font-size:var(--fs-20)}:where(.page-prose)>*+h2{margin-top:var(--sp-12);border-top:1px solid var(--line);padding-top:var(--sp-6)}:where(.page-prose)>ul{padding-left:1.5em;list-style:disc}:where(.page-prose) li+li{margin-top:var(--sp-2)}.page-action{margin-top:var(--sp-8)}.legal-table{width:100%;border-top:2px solid var(--brand);border-collapse:collapse}.legal-td,.legal-th{text-wrap:pretty;border-bottom:1px solid var(--line);padding-block:var(--sp-6);text-align:left;vertical-align:top}.legal-th{width:12rem;padding-right:var(--sp-8);color:var(--brand);font-size:var(--fs-14);font-weight:600;line-height:2.05}@media (max-width:39.9375rem){.legal-row,.legal-table,.legal-tbody,.legal-td,.legal-th{display:block;width:100%}.legal-row{border-bottom:1px solid var(--line);padding-block:var(--sp-4)}.legal-td,.legal-th{border-bottom:0;padding:0}}@media (min-width:64rem){.page-head{padding-block:var(--sp-16)}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-header{border-bottom:0;background:#fff}.header-brand-sub{display:none}.header-contact{border-radius:0}.site-header .brand-name{color:var(--ink);font-size:1.75rem;letter-spacing:-.035em}body:has(.mc-home) .header-inner,body:has(.mc-home) .site-footer>.container{width:calc(100% - clamp(1rem, 4vw, 4rem) * 2);max-width:96rem}@media (max-width:40rem){.site-header .brand-name{font-size:1.25rem}}@media (max-width:23rem){.site-header .brand-name{font-size:1.1rem}}@media print{.gnav,.header-contact,.mc-optical-controls,.mc-switch,.mnav,.skip-link{display:none!important}.site-header{position:static}.mc-company-row,.mc-faq-item,.mc-flow-step,.mc-news-item,.mc-optical,.mc-service-row,.mc-stat,figure{page-break-inside:avoid;break-inside:avoid}h2,h3{page-break-after:avoid;break-after:avoid}.mc-contact-top,.mc-section-heading,h1,h2,h3{page-break-inside:avoid;break-inside:avoid}.mc-display{page-break-after:avoid;break-after:avoid}}